Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-35334

Code generation: init method exceeds 64 KB when there is a long array field with Table API

    XMLWordPrintableJSON

Details

    Description

      Hi team,

      I encountered the following error when trying to execute SQL on a table that has rows with fields that are long arrays (e.g., array length > 200):

      Caused by: java.lang.RuntimeException: Could not instantiate generated class 'BatchExecCalc$4950'
       at org.apache.flink.table.runtime.generated.GeneratedClass.newInstance(GeneratedClass.java:84)
       ...
      Caused by: org.codehaus.janino.InternalCompilerException: Code of method "<init>([Ljava/lang/Object;Lorg/apache/flink/streaming/runtime/tasks/StreamTask;Lorg/apache/flink/streaming/api/graph/StreamConfig;Lorg/apache/flink/streaming/api/operators/Output;Lorg/apache/flink/streaming/runtime/tasks/ProcessingTimeService;)V" of class "BatchExecCalc$4950" grows beyond 64 KB 

      A minimal example that reproduces the situation described above:
      https://gist.github.com/nlpersimon/df71c0bec93c13667965ce1706099fdb

      After running the example with Intellij, I got this output:
      https://gist.github.com/nlpersimon/f741b79c37da7426aeefc7a157cdd124

      Please let me know if you need any other information. Thank you!

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              simonlee1206 Simon Lee
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated: