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 345f99c094c [FLINK-40668][network] Document why the recovery drain 
cannot stall on zero-credit needsRecovery channels
345f99c094c is described below

commit 345f99c094ca87317a73311ddeb2f4e825caeb98
Author: Rui Fan <[email protected]>
AuthorDate: Tue Sep 15 12:21:25 2026 +0200

    [FLINK-40668][network] Document why the recovery drain cannot stall on 
zero-credit needsRecovery channels
---
 .../runtime/io/network/partition/consumer/RemoteInputChannel.java   | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git 
a/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/RemoteInputChannel.java
 
b/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/RemoteInputChannel.java
index c22ba964ae1..bc8a1996b76 100644
--- 
a/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/RemoteInputChannel.java
+++ 
b/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/RemoteInputChannel.java
@@ -784,8 +784,10 @@ public class RemoteInputChannel extends InputChannel 
implements RecoverableInput
         boolean recycleBuffer = true;
 
         // The first buffer from the producer proves the upstream reader is 
registered and the
-        // connection is live; release any recovery-side awaiter. On later 
buffers this is a cheap
-        // idempotent no-op (the latch count is already zero).
+        // connection is live; release any recovery-side awaiter
+        // (see requestRecoveryBufferBlocking). During recovery this first 
arrival is typically the
+        // upstream's EndOfOutputChannelStateEvent, which is guaranteed and 
passes the zero-credit
+        // gate. On later buffers this is a cheap idempotent no-op (the latch 
is already at zero).
         upstreamReady.countDown();
 
         try {

Reply via email to