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

Nested classes in HashAggTemplate break the plain Java for debugging codegen

    XMLWordPrintableJSON

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

        1. janino5306141716524056052.java
          9 kB
          Boaz Ben-Zvi
        2. janino6744306210553474372.java
          8 kB
          Boaz Ben-Zvi

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: