I would go with the second approach, since it would have less impact on the project.
Kind regards, Arina > On Apr 2, 2019, at 6:53 PM, Vova Vysotskyi <[email protected]> wrote: > > Hi, > > For now, I see two ways of solving this issue: > > 1. Find minimum JDK build version where this issue is fixed and specify it > in requireJavaVersion tag in maven-enforcer-plugin: > https://maven.apache.org/enforcer/enforcer-rules/requireJavaVersion.html > So build will fail with a clear error message instead of compilation error. > > 2. Explicitly specify RuntimeException type in generic for method, add the > corresponding comment and suppression to avoid warnings in IDE. (If someone > has checked that it works. See my previous email.) > > Kind regards, > Volodymyr Vysotskyi > > > On Tue, Apr 2, 2019 at 6:35 PM Charles Givre <[email protected]> wrote: > >> All, >> I tried this on another machine with a higher version of Java and it >> worked without the changes below. So it would seem that this probably is a >> bug in JDK. How do we proceed? >> >>> On Apr 1, 2019, at 17:12, Sorabh Hamirwasia <[email protected]> >> wrote: >>> >>> I am not seeing any issue with latest maven and with below java version. >> As >>> Vova suggested this could be a JDK bug. >>> >>> *# mvn --version* >>> *Java HotSpot(TM) 64-Bit Server VM warning: ignoring option >>> MaxPermSize=256m; support was removed in 8.0* >>> *Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; >>> 2018-10-24T11:41:47-07:00)* >>> *Maven home: /opt/maven/apache-maven-3.6.0* >>> *Java version: 1.8.0_131, vendor: Oracle Corporation, runtime: >>> /opt/jdk1.8.0_131/jre* >>> >>> @Charles/Hanu, >>> Can you upgrade your JDK version and try once ? >>> >>> Thanks, >>> Sorabh >>> >>> On Mon, Apr 1, 2019 at 1:53 PM hanu mapr <[email protected]> wrote: >>> >>>> Hello Vova, >>>> >>>> Here is the java version on my laptop. >>>> >>>> HMADURI-E597:drill hmaduri$ java -version >>>> java version "1.8.0_91" >>>> Java(TM) SE Runtime Environment (build 1.8.0_91-b14) >>>> Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode) >>>> HMADURI-E597:drill hmaduri$ javac -version >>>> javac 1.8.0_91 >>>> >>>> Thanks, >>>> -Hanu >>>> >>>> On Mon, Apr 1, 2019 at 1:45 PM Charles Givre <[email protected]> wrote: >>>> >>>>> Hi Volodmyr, >>>>> I’m on a Mac OSX Mohave, java version 1.8.0_65, maven version 3.6.0. >>>>> >>>>> In order to get Drill to build I had to make the following changes: >>>>> >>>>> org/apache/drill/exec/store/parquet/TestParquetFilterPushDown.java (add >>>>> try/catch) >>>>> >>>>> private void >>>>> testParquetRowGroupFilterEval(MetadataBase.ParquetTableMetadataBase >>>> footer, >>>>> final int rowGroupIndex, final LogicalExpression filterExpr, RowsMatch >>>>> canDropExpected) { >>>>> try { >>>>> RowsMatch canDrop = FilterEvaluatorUtils.evalFilter(filterExpr, >>>> footer, >>>>> rowGroupIndex, fragContext.getOptions(), fragContext); >>>>> Assert.assertEquals(canDropExpected, canDrop); >>>>> } catch (Exception e) { >>>>> fail(); >>>>> } >>>>> } >>>>> >>>>> and >>>>> >>>>> org/apache/drill/exec/store/parquet/FilterEvaluatorUtils.java >>>>> >>>>> public static RowsMatch evalFilter(LogicalExpression expr, >>>>> MetadataBase.ParquetTableMetadataBase footer, >>>>> int rowGroupIndex, OptionManager >>>>> options, FragmentContext fragmentContext) throws Exception { >>>>> >>>>> where I added throws Exception. >>>>> >>>>> >>>>>> On Apr 1, 2019, at 16:11, Vova Vysotskyi <[email protected]> wrote: >>>>>> >>>>>> Hi all, >>>>>> >>>>>> Looking into the code, I don't see a reason for compilation failure, >>>>> since >>>>>> the exception type should be inferred from *FieldReferenceFinder*, >>>> which >>>>>> contains *RuntimeException*. >>>>>> >>>>>> Perhaps it may be JDK bug, something like this >>>>>> https://bugs.openjdk.java.net/browse/JDK-8066974. >>>>>> Charles, Hanu, could you please share you JDK versions, on my >>>>>> machine 1.8.0_191 and everything works fine. >>>>>> >>>>>> Also, could you please check whether specifying types explicitly will >>>>> help: >>>>>> *expr.accept(new FieldReferenceFinder(), null)* *->* >>>>> *expr.<Set<SchemaPath>, >>>>>> Void, RuntimeException>accept(new FieldReferenceFinder(), null)* >>>>>> >>>>>> Kind regards, >>>>>> Volodymyr Vysotskyi >>>>>> >>>>>> >>>>>> On Mon, Apr 1, 2019 at 10:40 PM Charles Givre <[email protected]> >>>> wrote: >>>>>> >>>>>>> Hi Hanu, >>>>>>> I posted code that fixed this to the list. Once I did that, it >> worked >>>>>>> fine. >>>>>>> —C >>>>>>> >>>>>>>> On Apr 1, 2019, at 15:39, hanu mapr <[email protected]> wrote: >>>>>>>> >>>>>>>> Hello All, >>>>>>>> >>>>>>>> The exact function which is causing this error is the following. >>>>>>>> >>>>>>>> public static RowsMatch evalFilter(LogicalExpression expr, >>>>>>>> MetadataBase.ParquetTableMetadataBase footer, >>>>>>>> int rowGroupIndex, OptionManager >>>>>>>> options, FragmentContext fragmentContext) throws Exception { >>>>>>>> >>>>>>>> and also for the caller functions in TestParquetFilterPushDown all >>>>> along. >>>>>>>> >>>>>>>> I think evalFilter needs to catch the Exception or throw an >>>> Exception. >>>>>>>> I just tried this, didn't put much thought into it. So I think this >>>>>>>> Exception needs to be handled properly. >>>>>>>> >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> -Hanu >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Apr 1, 2019 at 12:20 PM hanu mapr <[email protected]> >>>> wrote: >>>>>>>> >>>>>>>>> Hello All, >>>>>>>>> >>>>>>>>> I am also getting the same error which Charles got on compilation >> of >>>>> the >>>>>>>>> latest build. >>>>>>>>> >>>>>>>>> >>>>>>>>> Here is the message which I got. >>>>>>>>> >>>>>>>>> [ERROR] >>>>>>>>> >>>>>>> >>>>> >>>> >> /Users/hmaduri/contribs/APACHE/drill/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/FilterEvaluatorUtils.java:[59,68] >>>>>>>>> error: unreported exception E; must be caught or declared to be >>>> thrown >>>>>>>>> where E,T,V are type-variables: >>>>>>>>> E extends Exception declared in method >>>>>>>>> <T,V,E>accept(ExprVisitor<T,V,E>,V) >>>>>>>>> T extends Object declared in method >>>>>>> <T,V,E>accept(ExprVisitor<T,V,E>,V) >>>>>>>>> V extends Object declared in method >>>>>>> <T,V,E>accept(ExprVisitor<T,V,E>,V) >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> -Hanu >>>>>>>>> >>>>>>>>> On Mon, Apr 1, 2019 at 11:09 AM Abhishek Girish < >> [email protected] >>>>> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hey Charles, >>>>>>>>>> >>>>>>>>>> On the latest apache/drill master, I don't see any errors during >>>>> build >>>>>>> / >>>>>>>>>> running unit tests. But sometimes I've seen this issue with stale >>>>>>>>>> artifacts.. Can you clear all maven artifacts from your local >> maven >>>>>>> repo >>>>>>>>>> cache and build master again (or with -U option)? >>>>>>>>>> >>>>>>>>>> On Mon, Apr 1, 2019 at 10:46 AM Charles Givre <[email protected]> >>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Hello all, >>>>>>>>>>> There does seem to be some regression here… >>>>>>>>>>> >>>>>>>>>>> In order to get Drill to build I had to make the following >>>> changes: >>>>>>>>>>> >>>>>>>>>>> >> org/apache/drill/exec/store/parquet/TestParquetFilterPushDown.java >>>>>>> (add >>>>>>>>>>> try/catch) >>>>>>>>>>> >>>>>>>>>>> private void >>>>>>>>>>> >>>> testParquetRowGroupFilterEval(MetadataBase.ParquetTableMetadataBase >>>>>>>>>> footer, >>>>>>>>>>> final int rowGroupIndex, final LogicalExpression filterExpr, >>>>> RowsMatch >>>>>>>>>>> canDropExpected) { >>>>>>>>>>> try { >>>>>>>>>>> RowsMatch canDrop = FilterEvaluatorUtils.evalFilter(filterExpr, >>>>>>>>>>> footer, rowGroupIndex, fragContext.getOptions(), fragContext); >>>>>>>>>>> Assert.assertEquals(canDropExpected, canDrop); >>>>>>>>>>> } catch (Exception e) { >>>>>>>>>>> fail(); >>>>>>>>>>> } >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> and >>>>>>>>>>> >>>>>>>>>>> org/apache/drill/exec/store/parquet/FilterEvaluatorUtils.java >>>>>>>>>>> >>>>>>>>>>> public static RowsMatch evalFilter(LogicalExpression expr, >>>>>>>>>>> MetadataBase.ParquetTableMetadataBase footer, >>>>>>>>>>> int rowGroupIndex, OptionManager >>>>>>>>>>> options, FragmentContext fragmentContext) throws Exception { >>>>>>>>>>> >>>>>>>>>>> where I added throws Exception. >>>>>>>>>>> >>>>>>>>>>> Once I did that Drill built just fine. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> On Apr 1, 2019, at 11:35, Charles Givre <[email protected]> >>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hey Arina, >>>>>>>>>>>> Just some more info… >>>>>>>>>>>> I cloned the repo straight from the Apache/Drill github repo, >>>>>>>>>> attempted >>>>>>>>>>> to build and got the same error. I’m on a Mac OSX Mohave, java >>>>>>> version >>>>>>>>>>> 1.8.0_65, maven version 3.6.0. >>>>>>>>>>>> Could there be something in my environment that is causing this? >>>>> Can >>>>>>>>>>> anyone else duplicate the problem? >>>>>>>>>>>> — C >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> On Apr 1, 2019, at 11:03, Charles Givre <[email protected]> >>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> Hey Arina, >>>>>>>>>>>>> Any suggestions on how to fix? I’ve tried rebasing again to no >>>>>>>>>> avail. >>>>>>>>>>>>> >>>>>>>>>>>>>> On Apr 1, 2019, at 10:28, Arina Yelchiyeva < >>>>>>>>>> [email protected]> >>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Charles, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Build on the latest commit is successful - >>>>>>>>>>> >>>>>>>>>> >>>>>>> >>>>> >>>> >> https://travis-ci.org/apache/drill/builds/514145219?utm_source=github_status&utm_medium=notification >>>>>>>>>>> < >>>>>>>>>>> >>>>>>>>>> >>>>>>> >>>>> >>>> >> https://travis-ci.org/apache/drill/builds/514145219?utm_source=github_status&utm_medium=notification >>>>>>>>>>>> >>>>>>>>>>>>>> Git does not always rebase smoothly, even if it writes that >>>>> rebase >>>>>>>>>> was >>>>>>>>>>> successful. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Kind regards, >>>>>>>>>>>>>> Arina >>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Apr 1, 2019, at 5:20 PM, Charles Givre <[email protected]> >>>>>>>>>> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> All, >>>>>>>>>>>>>>> I just rebased Drill with the latest commits and it no longer >>>>>>>>>>> builds. I’m getting the following errors: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> [ERROR] Failed to execute goal >>>>>>>>>>> org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile >>>>>>>>>>> (default-compile) on project drill-java-exec: Compilation failure >>>>>>>>>>>>>>> [ERROR] >>>>>>>>>>> >>>>>>>>>> >>>>>>> >>>>> >>>> >> /Users/cgivre/github/drill-dev/drill/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/FilterEvaluatorUtils.java:[59,68] >>>>>>>>>>> error: unreported exception E; must be caught or declared to be >>>>> thrown >>>>>>>>>>>>>>> [ERROR] where E,T,V are type-variables: >>>>>>>>>>>>>>> [ERROR] E extends Exception declared in method >>>>>>>>>>> <T,V,E>accept(ExprVisitor<T,V,E>,V) >>>>>>>>>>>>>>> [ERROR] T extends Object declared in method >>>>>>>>>>> <T,V,E>accept(ExprVisitor<T,V,E>,V) >>>>>>>>>>>>>>> [ERROR] V extends Object declared in method >>>>>>>>>>> <T,V,E>accept(ExprVisitor<T,V,E>,V) >>>>>>>>>>>>>>> [ERROR] >>>>>>>>>>>>>>> [ERROR] -> [Help 1] >>>>>>>>>>>>>>> [ERROR] >>>>>>>>>>>>>>> [ERROR] To see the full stack trace of the errors, re-run >>>> Maven >>>>>>>>>> with >>>>>>>>>>> the -e switch. >>>>>>>>>>>>>>> [ERROR] Re-run Maven using the -X switch to enable full debug >>>>>>>>>> logging. >>>>>>>>>>>>>>> [ERROR] >>>>>>>>>>>>>>> [ERROR] For more information about the errors and possible >>>>>>>>>> solutions, >>>>>>>>>>> please read the following articles: >>>>>>>>>>>>>>> [ERROR] [Help 1] >>>>>>>>>>> >>>>> http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException >>>>>>>>>>>>>>> [ERROR] >>>>>>>>>>>>>>> [ERROR] After correcting the problems, you can resume the >>>> build >>>>>>>>>> with >>>>>>>>>>> the command >>>>>>>>>>>>>>> [ERROR] mvn <goals> -rf :drill-java-exec >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>> >>>>>>> >>>>> >>>>> >>>> >> >>
