rkhachatryan commented on a change in pull request #11507: [FLINK-16587] Add 
basic CheckpointBarrierHandler for unaligned checkpoint
URL: https://github.com/apache/flink/pull/11507#discussion_r408013290
 
 

 ##########
 File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/RemoteInputChannel.java
 ##########
 @@ -206,6 +214,25 @@ void retriggerSubpartitionRequest(int subpartitionIndex) 
throws IOException {
                return Optional.of(new BufferAndAvailability(next, 
moreAvailable, getSenderBacklog()));
        }
 
+       @Override
+       public List<Buffer> requestInflightBuffers(long checkpointId) throws 
IOException {
+               synchronized (receivedBuffers) {
+                       checkState(checkpointId > lastRequestedCheckpointId, 
"Need to request the next checkpointId");
+
+                       final List<Buffer> inflightBuffers = new 
ArrayList<>(receivedBuffers.size());
+                       for (Buffer buffer : receivedBuffers) {
+                               if (!buffer.isBuffer() && 
parseCheckpointBarrierOrNull(buffer) != null) {
+                                       break;
+                               }
+                               inflightBuffers.add(buffer.retainBuffer());
 
 Review comment:
   We shouldn't persist anything except buffers (`isBuffer == true`).
   With the check above we break if it's checkpoint barrier, but it can also be 
e.g. `CancelCheckpointMarker`.
   I couldn't find any checks for this in other places.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to