You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2026/09/15 11:32:00 UTC

[jira] [Updated] (FLINK-40671) Document why UnknownInputChannel graduation hardcodes needsRecovery=false

     [ https://issues.apache.org/jira/browse/FLINK-40671?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ASF GitHub Bot updated FLINK-40671:
-----------------------------------
    Labels: pull-request-available  (was: )

> 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
>
> `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)