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.