[
https://issues.apache.org/jira/browse/FLINK-39524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-39524:
-----------------------------------
Labels: pull-request-available (was: )
> Introduce the fetched-channel-state spill subsystem (segmented spill files,
> filtered write, reader)
> ---------------------------------------------------------------------------------------------------
>
> Key: FLINK-39524
> URL: https://issues.apache.org/jira/browse/FLINK-39524
> Project: Flink
> Issue Type: Sub-task
> Reporter: Rui Fan
> Assignee: Rui Fan
> Priority: Major
> Labels: pull-request-available
>
> Introduce the on-disk subsystem for recovered channel state. Runtime behavior
> is unchanged: the handler factory does not select the new handlers, so no
> production path produces or consumes spill files.
> Scope:
> * FetchedChannelState: ref-counted container over an ordered list of spill
> files (files deleted when the last grant is released) with a one-shot
> snapshot/resume point (FetchedChannelStateSnapshot).
> * Spill-writing handlers: AbstractSpillingHandler owns the append-only
> segmented on-disk format ([gateIdx][channelIdx][bufferLength][body], length
> backfill, 64 MiB rotation, OffsetAwareOutputStream);
> SpillingNoFilteringHandler writes recovered buffers verbatim.
> * ChannelStateFilteringHandler rewritten to emit surviving records
> length-prefixed into a spill segment (previously it produced network buffers
> delivered to the channels); SpillingWithFilteringHandler routes
> rescale-filter output to disk.
> * FetchedChannelStateReader / FetchedChannelStateReaderImpl: forward-only
> segment reader with committed/current positions and snapshot resume.
> * SequentialChannelStateReader#readInputData returns Optional (empty as long
> as no handler produces spilled state).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)