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

    • Bug
    • Status: Open
    • Blocker
    • Resolution: Unresolved
    • 1.17.1, 1.19.0, 1.18.1
    • None
    • None

    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

        Activity

          People

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

            Dates

              Created:
              Updated: