You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Rui Fan (Jira)" <ji...@apache.org> on 2026/07/06 10:03:00 UTC
[jira] [Created] (FLINK-40080) Drain spilled channel state into input channels and replay spilled slices into checkpoints
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)