flink
flink copied to clipboard
[FLINK-31261][runtime] Make AdaptiveScheduler aware of local state size
What is the purpose of the change
FLINK-21450 / #21981 made Adaptive Scheduler aware of Local State. This PR improves on that by estimating state size (instead of number of key groups).
Verifying this change
- Added unit test:
StateLocalitySlotAssignerTest.testDownScaleWithUnevenStateSize
Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): (yes / no)
- The public API, i.e., is any changed class annotated with
@Public(Evolving)
: (yes / no) - The serializers: (yes / no / don't know)
- The runtime per-record code paths (performance sensitive): (yes / no / don't know)
- Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
- The S3 file system connector: (yes / no / don't know)
Documentation
- Does this pull request introduce a new feature? no
- If yes, how is the feature documented? not applicable
CI report:
- c2b1e6528193b33cc6d38237b70b4b844539f1ab Azure: SUCCESS
Bot commands
The @flinkbot bot supports the following commands:-
@flinkbot run azure
re-run the last Azure build
Thanks for the review! Given https://github.com/apache/flink/pull/22046#discussion_r1681407852, I think the improvement should be significant but not in all cases.