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

Rui Fan resolved FLINK-40522.
-----------------------------
    Fix Version/s: 2.4.0
       Resolution: Fixed

Merged to master(2.4.0) via: 3cdde2a7b13a67002b66e0d9a9a2f33d08f7b6bd

> Deduplicate the RecoveryCheckpointBarrier sentinel helpers shared by 
> LocalInputChannel and RemoteInputChannel
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: FLINK-40522
>                 URL: https://issues.apache.org/jira/browse/FLINK-40522
>             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
>
>
> `LocalInputChannel` and `RemoteInputChannel` each define a byte-identical 
> pair of stateless static helpers for the checkpointing-during-recovery 
> sentinel protocol: `releaseRetainedBuffers(List<Buffer>)` and 
> `asRecoveryCheckpointBarrier(Buffer)`. Keeping two copies invites silent 
> drift in recovery-barrier handling.
> Fix: move the two helpers into one package-private class (e.g. 
> `RecoveryCheckpointBarrierUtils`) in 
> `org.apache.flink.runtime.io.network.partition.consumer` and have both 
> channels delegate. This is a pure move with no behavior change.
>  
> The larger `collectPreRecoveryBarrier` is intentionally left per-channel: the 
> two walk different queue types (`Deque<Buffer>` vs 
> `PrioritizedDeque<SequenceBuffer>`), so sharing it would add complexity 
> without a clear benefit.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to