Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-6888

Nested classes in HashAggTemplate break the plain Java for debugging codegen

    Details

      Description

      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:

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

      The proposed fix: Move those nested classes outside HashAgTemplate.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ben-zvi Boaz Ben-Zvi
                Reporter:
                ben-zvi Boaz Ben-Zvi
                Reviewer:
                Timothy Farkas
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: