[
https://issues.apache.org/jira/browse/FLINK-8921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16662364#comment-16662364
]
ASF GitHub Bot commented on FLINK-8921:
---------------------------------------
xueyumusic opened a new pull request #6921: [FLINK-8921][table] Split code
generated call expression
URL: https://github.com/apache/flink/pull/6921
## What is the purpose of the change
This PR splits expressions in code generator's visitcall to avoid JVM max
method size
## Brief change log
- *CodeGenerator*
## Verifying this change
This change added tests and can be verified as follows:
- *Added test that validates that TaskInfo is transferred only once across
recoveries*
- *Manually verified existed tests by setting maxGeneratedCodeLength = 1*
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): (no)
- The public API, i.e., is any changed class annotated with
`@Public(Evolving)`: (no)
- The serializers: (no)
- The runtime per-record code paths (performance sensitive): (no)
- Anything that affects deployment or recovery: JobManager (and its
components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
- The S3 file system connector: (no)
## Documentation
- Does this pull request introduce a new feature? (no)
- If yes, how is the feature documented? (not documented)
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Split code generated call expression
> -------------------------------------
>
> Key: FLINK-8921
> URL: https://issues.apache.org/jira/browse/FLINK-8921
> Project: Flink
> Issue Type: Improvement
> Components: Table API & SQL
> Reporter: Timo Walther
> Assignee: Ruidong Li
> Priority: Major
> Labels: pull-request-available
>
> In FLINK-8274 we introduced the possibility of splitting the generated code
> into multiple methods in order to exceed the JVMs maximum method size (see
> also https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.9).
> At the moment we only split methods by fields, however, this is not enough in
> all case. We should also split expressions. I suggest to split the operands
> of a {{RexCall}} in
> {{org.apache.flink.table.codegen.CodeGenerator#visitCall}} if we reach a
> certain threshold. However, this should happen as lazily as possible to keep
> the runtime overhead low.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)