Occasional compilation failures from gradle build

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Occasional compilation failures from gradle build

Alan Woodward-3
Hi all,

In about 50% of my gradle precommit runs, I get a Solr compilation error that looks like this:

/Users/romseygeek/projects/lucene-solr/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsTestUtil.java:44: error: BlockPoolSlice is not public in org.apache.hadoop.hdfs.server.datanode.fsdataset.impl; cannot be accessed from outside package
import org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.BlockPoolSlice;

From what I can tell, this class is designed to override classes from Hadoop to fix certain bugs, but it seems that gradle is sometimes putting the original Hadoop class files first in the class path, so the overridden class is not picked up.  

Is anyone else seeing this?
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Occasional compilation failures from gradle build

Erick Erickson
I was doing quite a bit of building the assemble and dev tasks and never saw this. Of course I was bouncing between and and gradle a lot and habitually executed a "git clean -d -x -f”, don’t have a clue whether that’d be relevant, though I rather doubt it is.

> On May 5, 2020, at 7:27 AM, Alan Woodward <[hidden email]> wrote:
>
> Hi all,
>
> In about 50% of my gradle precommit runs, I get a Solr compilation error that looks like this:
>
> /Users/romseygeek/projects/lucene-solr/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsTestUtil.java:44: error: BlockPoolSlice is not public in org.apache.hadoop.hdfs.server.datanode.fsdataset.impl; cannot be accessed from outside package
> import org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.BlockPoolSlice;
>
> From what I can tell, this class is designed to override classes from Hadoop to fix certain bugs, but it seems that gradle is sometimes putting the original Hadoop class files first in the class path, so the overridden class is not picked up.  
>
> Is anyone else seeing this?
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Occasional compilation failures from gradle build

david.w.smiley@gmail.com
I see it often; I raised this in slack a few weeks ago.  Kevin & Mike Drob responded.  It seems "gw clean" makes it go away.  Still, this is annoying and points to a problem we should address.

~ David


On Tue, May 5, 2020 at 8:40 AM Erick Erickson <[hidden email]> wrote:
I was doing quite a bit of building the assemble and dev tasks and never saw this. Of course I was bouncing between and and gradle a lot and habitually executed a "git clean -d -x -f”, don’t have a clue whether that’d be relevant, though I rather doubt it is.

> On May 5, 2020, at 7:27 AM, Alan Woodward <[hidden email]> wrote:
>
> Hi all,
>
> In about 50% of my gradle precommit runs, I get a Solr compilation error that looks like this:
>
> /Users/romseygeek/projects/lucene-solr/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsTestUtil.java:44: error: BlockPoolSlice is not public in org.apache.hadoop.hdfs.server.datanode.fsdataset.impl; cannot be accessed from outside package
> import org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.BlockPoolSlice;
>
> From what I can tell, this class is designed to override classes from Hadoop to fix certain bugs, but it seems that gradle is sometimes putting the original Hadoop class files first in the class path, so the overridden class is not picked up. 
>
> Is anyone else seeing this?
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]