[
https://issues.apache.org/jira/browse/FLINK-40671?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rui Fan resolved FLINK-40671.
-----------------------------
Fix Version/s: 2.4.0
Resolution: Fixed
Merged to master(2.4.0) via: 93749bbe71c010461b0ea5cd98ba34df7c24f79a
> Document why UnknownInputChannel graduation hardcodes needsRecovery=false
> -------------------------------------------------------------------------
>
> Key: FLINK-40671
> URL: https://issues.apache.org/jira/browse/FLINK-40671
> Project: Flink
> Issue Type: Sub-task
> Components: Runtime / Checkpointing
> Reporter: Rui Fan
> Assignee: Rui Fan
> Priority: Major
> Labels: pull-request-available
> Fix For: 2.4.0
>
>
> `UnknownInputChannel.toRemoteInputChannel/toLocalInputChannel` set
> `needsRecovery=false` when graduating to a real channel. This is safe because
> unknown channels only occur in BATCH jobs
> (`PartitionLocationConstraint.CAN_BE_UNKNOWN` is BATCH-only), which have no
> channel state to recover — so they never reach the CDR drain path. But the
> reasoning is non-obvious: if it ever changed, the channel would enter
> `drain()` with `inRecovery=false` and trip `finishRecoveredBufferDelivery`'s
> checkState. Add a comment making the invariant explicit.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)