tsreaper opened a new pull request #18675:
URL: https://github.com/apache/flink/pull/18675


   ## What is the purpose of the change
   
   Although we've introduced a dedicated code splitter module in FLINK-23007 
there are still some corner cases. For example, current code splitter cannot 
handle long constructor code.
   
   `IN` filters with a constant set will generate an operator which constructs 
the set in the class constructor, so for a large IN filter its generator code 
may become too long to be compiled. This PR fixes this issue by moving the code 
for set constructing to a dedicated method.
   
   I'm not going to handle long constructor code for the code splitter because 
it is sort of hard to pick out which part of the constructor code can be split 
out. For example, `final` class members must be assigned in the constructor, 
not in other methods, so we just can't move all constructor code into another 
method.
   
   ## Brief change log
   
    - Fix bug: generated code for a large IN filter can't be compiled
   
   ## Verifying this change
   
   This change added tests and can be verified by running 
`CodeSplitITCase#testManyIns`.
   
   ## 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, Kubernetes/Yarn, 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 applicable
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to