[ https://issues.apache.org/jira/browse/DRILL-6888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16713534#comment-16713534 ]
Boaz Ben-Zvi commented on DRILL-6888: ------------------------------------- [^janino6744306210553474372.java] And after extracting the static class *HashAggSpilledPartition* into a separate file, the gen code still fails on the other nested non-static class - *HashAggUpdater*. {code:java} 0: jdbc:drill:zk=local> select sum(l_quantity),l_linenumber from cp.`tpch/lineitem.parquet` group by l_linenumber limit 2; Error: SYSTEM ERROR: CompileException: File '/tmp/janino6744306210553474372.java', Line 33, Column 35: No applicable constructor/method found for actual parameters "org.apache.drill.exec.test.generated.HashAggregatorGen0$HashAggUpdater"; candidates are: "protected org.apache.drill.exec.physical.impl.aggregate.HashAggTemplate$BatchHolder org.apache.drill.exec.physical.impl.aggregate.HashAggTemplate.injectMembers(org.apache.drill.exec.physical.impl.aggregate.HashAggTemplate$BatchHolder)" Fragment 0:0 Please, refer to logs for more information. [Error Id: ed224aba-c4d2-4e2c-aac8-79b926688744 on 10.254.64.18:31020] (state=,code=0){code} > Nested classes in HashAggTemplate break the plain Java for debugging codegen > ---------------------------------------------------------------------------- > > Key: DRILL-6888 > URL: https://issues.apache.org/jira/browse/DRILL-6888 > Project: Apache Drill > Issue Type: Improvement > Components: Execution - Relational Operators > Affects Versions: 1.14.0 > Reporter: Boaz Ben-Zvi > Assignee: Boaz Ben-Zvi > Priority: Minor > Attachments: janino5306141716524056052.java, > janino6744306210553474372.java > > > The *prefer_plain_java* compile option is useful for debugging of generated > code. > DRILL-6719 ("separate spilling logic for Hash Agg") introduced two nested > classes into the HashAggTemplate class. However those nested classes cause > the prefer_plain_java compile option to fail when compiling the generated > code, like: > {code:java} > Error: SYSTEM ERROR: CompileException: File > '/tmp/janino5709636998794673307.java', Line 36, Column 35: No applicable > constructor/method found for actual parameters > "org.apache.drill.exec.test.generated.HashAggregatorGen11$HashAggSpilledPartition"; > candidates are: "protected > org.apache.drill.exec.physical.impl.aggregate.HashAggTemplate$BatchHolder > org.apache.drill.exec.physical.impl.aggregate.HashAggTemplate.injectMembers(org.apache.drill.exec.physical.impl.aggregate.HashAggTemplate$BatchHolder)" > {code} > +The proposed fix+: Move those nested classes outside HashAgTemplate. -- This message was sent by Atlassian JIRA (v7.6.3#76005)