flink icon indicating copy to clipboard operation
flink copied to clipboard

[FLINK-38770][runtime] Fix parallelism overrides ignored in Application Mode

Open barakbaron12 opened this issue 1 week ago • 1 comments

What is the purpose of the change

This PR fixes a bug where pipeline.jobvertex-parallelism-overrides configuration was completely ignored when running jobs in Application Mode with Flink 2.0+. This broke the Flink Kubernetes Operator's autoscaler functionality.

Brief change log

  • Created ParallelismOverrideUtil to centralize override application logic
  • Modified all scheduler factories (DefaultScheduler, AdaptiveScheduler, AdaptiveBatchScheduler) to apply overrides after StreamGraph→JobGraph conversion
  • Removed duplicate override logic from Dispatcher.java
  • Ensured correct configuration precedence: job config > job master config

Verifying this change

This change added tests and can be verified as follows:

  • Added 7 unit tests in ParallelismOverrideUtilTest covering all override scenarios
  • Added 4 integration tests in ParallelismOverridesITCase verifying end-to-end behavior across different scheduler types
  • Modified existing integration tests in AdaptiveBatchSchedulerITCase and AdaptiveSchedulerITCase to include parallelism override tests

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: yes (JobManager scheduler factories)
  • 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

barakbaron12 avatar Dec 10 '25 15:12 barakbaron12

CI report:

  • 07aa475253453481c4818297dc9fccf068ea689c Azure: FAILURE
Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

flinkbot avatar Dec 10 '25 15:12 flinkbot