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]

Reply via email to