1996fanrui opened a new pull request, #29055:
URL: https://github.com/apache/flink/pull/29055
## What is the purpose of the change
`CheckpointingOptions.isCheckpointingDuringRecoveryEnabled` gated only on
`UNALIGNED_RECOVER_OUTPUT_ON_DOWNSTREAM` and
`CHECKPOINTING_DURING_RECOVERY_ENABLED`, not on whether
unaligned checkpoints are enabled. But checkpointing during recovery only
works on the unaligned
(`alternating()`) barrier-handler path; with unaligned checkpoints disabled
the aligned path gets a NO_OP
recovery trigger, so a checkpoint triggered mid-recovery can neither be
taken nor declined and hangs until
it expires, leading to a failover loop. This adds the missing precondition
so such jobs fall back to the
tested non-CDR recovery path.
## Brief change log
- [FLINK-40518] Also require unaligned checkpoints to be enabled in
`CheckpointingOptions#isCheckpointingDuringRecoveryEnabled` (the single central
gate for all CDR call sites).
## Verifying this change
This change added a unit test:
- Extended `CheckpointingOptionsTest` to assert CDR requires unaligned
checkpoints enabled (and is disabled otherwise).
## 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: yes (checkpointing during
recovery)
- 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
---
##### Was generative AI tooling used to co-author this PR?
- [ ] Yes (please specify the tool below)
--
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]