You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by fa...@apache.org on 2026/09/02 11:42:21 UTC

(flink) branch master updated: [FLINK-40521][network] Document potential lost priority-barrier wakeup in LocalInputChannel during checkpointing-during-recovery

This is an automated email from the ASF dual-hosted git repository.

1996fanrui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/master by this push:
     new a0d52bdb145 [FLINK-40521][network] Document potential lost priority-barrier wakeup in LocalInputChannel during checkpointing-during-recovery
a0d52bdb145 is described below

commit a0d52bdb14520661c0332938ec4b073ae5e57aac
Author: Rui Fan <19...@gmail.com>
AuthorDate: Mon Aug 31 17:29:45 2026 +0200

    [FLINK-40521][network] Document potential lost priority-barrier wakeup in LocalInputChannel during checkpointing-during-recovery
---
 .../runtime/io/network/partition/consumer/LocalInputChannel.java      | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/LocalInputChannel.java b/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/LocalInputChannel.java
index fd995cc7cbe..fb5870a3471 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/LocalInputChannel.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/LocalInputChannel.java
@@ -646,7 +646,9 @@ public class LocalInputChannel extends InputChannel
 
         Buffer.DataType expectedNextDataType = next.getNextDataType();
         if (!expectedNextDataType.hasPriority()) {
-            // Reset hasPendingPriorityEvent to false if no more priority event.
+            // Latent lost-wakeup: this lock-free clear can clobber a concurrent set-true in
+            // notifyPriorityEvent(). Safe today only because Flink runs no concurrent unaligned
+            // checkpoints, so at most one priority barrier is ever pending.
             hasPendingPriorityEvent = false;
             // Correct nextDataType: if recoveredBuffers is not empty, the actual next element to
             // consume is from recoveredBuffers, not from subpartitionView.