Rui Fan created FLINK-40080:
-------------------------------

             Summary: Drain spilled channel state into input channels and 
replay spilled slices into checkpoints
                 Key: FLINK-40080
                 URL: https://issues.apache.org/jira/browse/FLINK-40080
             Project: Flink
          Issue Type: Sub-task
          Components: Runtime / Checkpointing
            Reporter: Rui Fan
            Assignee: Rui Fan


The disk-side counterpart of the recovery-checkpoint coordination. Runtime 
behavior is unchanged — no production path constructs a drainer, and the 
handler factory does not select the spilling handlers.

Scope:
 * RecoveryCheckpointTrigger#snapshotAndInsertBarriers widened to return a 
FetchedChannelStateReader: checkpoint start atomically snapshots the 
not-yet-drained spill slice and inserts recovery barriers.
 * ChannelStateWriter#addInputDataFromSpill: the channel-state writer replays a 
spilled slice into the checkpoint 
(ChannelStateWriteRequest.replayInputDataFromSpill, 
ChannelStateCheckpointWriter.writeInputFromSpill, streaming serializer 
overload); reader ownership transfers to the writer, closed on cancel/failure.
 * ChannelState checkpoint-start dispatch gains step 3: hand the snapshot 
reader to the writer; failure path closes the snapshot and routes 
CheckpointException to abort.
 * FetchedChannelStateDrainer: incremental drain of spill segments into 
RecoverableInputChannels (buffer request + disk read outside the lock, delivery 
+ offset advance inside), implementing the trigger with atomic 
snapshot-and-insert; appends the end-of-recovery sentinels when the drain 
finishes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to