1996fanrui commented on code in PR #29056:
URL: https://github.com/apache/flink/pull/29056#discussion_r3913901742


##########
flink-runtime/src/test/java/org/apache/flink/runtime/io/network/partition/PipelinedSubpartitionTest.java:
##########
@@ -472,6 +473,35 @@ void testConcurrentTimeoutableCheckpointBarrier() throws 
Exception {
                 .isInstanceOf(ExecutionException.class);
     }
 
+    @TestTemplate
+    void testPriorityBarrierAvailableToCreditedReaderWhileBlocked() throws 
Exception {
+        PipelinedSubpartition subpartition = createSubpartition();
+        subpartition.setChannelStateWriter(ChannelStateWriter.NO_OP);
+
+        // Block the subpartition, mirroring the RECOVERY_COMPLETION event 
emitted during recovery.
+        subpartition.add(
+                
EventSerializer.toBufferConsumer(EndOfOutputChannelStateEvent.INSTANCE, false));
+        pollBufferAndCheckType(subpartition, 
Buffer.DataType.RECOVERY_COMPLETION);
+
+        // While blocked and without any priority element, a credited reader 
sees no data.
+        
assertThat(subpartition.getAvailabilityAndBacklog(true).isAvailable()).isFalse();
+        assertThat(subpartition.pollBuffer()).isNull();
+
+        // Enqueue an unaligned checkpoint barrier as a priority element.
+        CheckpointOptions options =
+                CheckpointOptions.unaligned(
+                        CheckpointType.CHECKPOINT, 
CheckpointStorageLocationReference.getDefault());
+        subpartition.add(
+                EventSerializer.toBufferConsumer(
+                        new CheckpointBarrier(1L, System.currentTimeMillis(), 
options), true));
+
+        // The credited-reader availability check must now report available so 
the remote reader is
+        // enqueued and the priority barrier is delivered even though the 
subpartition
+        // stays blocked.
+        
assertThat(subpartition.getAvailabilityAndBacklog(true).isAvailable()).isTrue();
+        pollBufferAndCheckType(subpartition, 
Buffer.DataType.PRIORITIZED_EVENT_BUFFER);

Review Comment:
   Thanks @spuru9 for the review, and updated



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to