[
https://issues.apache.org/jira/browse/DRILL-6888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16713519#comment-16713519
]
Boaz Ben-Zvi commented on DRILL-6888:
-------------------------------------
[^janino5306141716524056052.java]Attaching the generated code for the following
simple aggregation (ran over the master branch)
{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/janino5306141716524056052.java', Line 33, Column 35: No applicable
constructor/method found for actual parameters
"org.apache.drill.exec.test.generated.HashAggregatorGen0$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)"
Fragment 0:0
Please, refer to logs for more information.
[Error Id: dd536835-1eae-47fa-812c-5da168528469 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
>
>
> 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)