Skip to content

[FLINK-40554][runtime] Skipping job recovery for jobs with broken execution plan instead of failing cluster recovery hidden behind newly introduced config parameter cluster.job-error-isolation.enabled - #29107

Open
XComp wants to merge 1 commit into
apache:masterfrom
XComp:FLINK-40554

Conversation

@XComp

@XComp XComp commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

The old implementation treated ExecutionPlan recovery errors as cluster-wide fatal causing the JobManager to fail over. This would cause other jobs on the same JobManager to failover as well. Enabling the new feature through the newly added configuration parameter makes the job recovery being skipped rather than failing the JobManager since the job wouldn't recover anyway. Cleanup needs to be handled manually by the operator. The error is revealed via error logs.

What is the purpose of the change

Creates new configuration parameter (with the feature being disabled by default). Enabling the feature would skip job recovery for that job and emits an error log message instead for manual cleanup. This prevents JobManager failover.

Brief change log

  • Introduces new exception that's used when an error occurs during ExecutionPlan loading
  • The new error is handled through an error log message instead of forwarding the error if the feature is enabled.

Verifying this change

  • Added separate unit tests to cover the behavior

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
  • The S3 file system connector: no

Documentation

  • Does this pull request introduce a new feature? no
  • If yes, how is the feature documented? docs

Was generative AI tooling used to co-author this PR?
  • Yes (please specify the tool below)

Generated-by: Claude

…cution plan instead of failing cluster recovery hidden behind newly introduced config parameter cluster.job-error-isolation.enabled

The old implementation treated ExecutionPlan recovery errors as cluster-wide fatal causing the JobManager to fail over. This would cause other jobs on the same JobManager to failover as well. Enabling the new feature through the newly added configuration parameter makes the job recovery being skipped rather than failing the JobManager since the job wouldn't recover anyway. Cleanup needs to be handled manually by the operator. The error is revealed via error logs.
@flinkbot

flinkbot commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

CI report:

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants