[
https://issues.apache.org/jira/browse/FLINK-40080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-40080:
-----------------------------------
Labels: pull-request-available (was: )
> 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
> Priority: Major
> Labels: pull-request-available
>
> 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)