All, I submitted the following PR which fixes this: https://github.com/apache/drill/pull/1731 <https://github.com/apache/drill/pull/1731>. @vvysotskyi, can you review and commit? Thanks, — C
> On Apr 2, 2019, at 17:25, hanu mapr <[email protected]> wrote: > > Hello Vova, > > Option 2 makes sense to me. I have tried with type casting the accept > method and it worked. > > Thanks, > -Hanu > > On Tue, Apr 2, 2019 at 9:23 AM Arina Yelchiyeva <[email protected]> > wrote: > >> 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 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>> >>>> >> >>
