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
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>
> >>>>>
> >>>>
> >>
> >>
>
>

Reply via email to