raoraoxiong opened a new pull request, #28963: URL: https://github.com/apache/flink/pull/28963
## Purpose Implements the core Regional Checkpoint mechanism (FLIP-600 Phase 1-5): when partial pipeline regions fail during a checkpoint, the framework generates a logically complete Completed Checkpoint by combining historical state of failed regions with current state of healthy regions. ## Changes **Commit 1: Define interfaces, configuration and refCheckpointId infrastructure** - CheckpointListener: add `notifyRegionalCheckpointComplete` (healthy-region tasks) and `notifyRegionalCheckpointFallback` (failed-region tasks) - OperatorCoordinator: add `supportsRegionCheckpoint()` and `checkpointCoordinatorForRegionFallback()` - Add RegionalCheckpointInfo class - Add 3 config options: `region.enabled`, `region.max-failure-ratio`, `region.max-consecutive-failures` - Add `refCheckpointId` field to OperatorSubtaskState + MetadataV7Serializer (backward-compatible) - Add CheckpointSubsumeHelper for reference-aware cleanup **Commit 2: Implement core logic and SourceCoordinator fallback** - Add RegionalCheckpointHandler: decline buffering, region failure judgment, state recombination, two-tier max-consecutive-failures (Tier 1: force next global; Tier 2: abort + reset) - Wire CheckpointCoordinator to delegate to RegionalCheckpointHandler - Implement SourceCoordinator.checkpointCoordinatorForRegionFallback (split assignment rollback) - Add DefaultCompletedCheckpointStore.computeReferencedCheckpointIds for cleaner reference protection **Commit 3: Implement notification dispatch and local state cleanup** - Extend confirmCheckpoint RPC with `fallbackCheckpointId` parameter (reuses task-side checkpoint-complete RPC path so notification survives task restarts) - Full notification chain: TaskExecutor → Task → StreamTask → SubtaskCheckpointCoordinator → OperatorChain → AbstractUdfStreamOperator → user function - Add TaskStateManager.pruneStateForCheckpoint for local state cleanup (FLIP-600 Section 9) ## Testing - Unit tests: success path, consecutive limit (two-tier), state assembly, deferred abort, cleaner, config, SourceCoordinator fallback, SplitAssignmentTracker - All tests pass ## Dependencies - None (base PR for FLIP-600 Regional Checkpoint) Generated-by: CodeBuddy Code (GLM-5.2) -- 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]
