akalash commented on a change in pull request #17663:
URL: https://github.com/apache/flink/pull/17663#discussion_r742739855



##########
File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/LocalInputChannel.java
##########
@@ -338,10 +338,13 @@ void releaseAllResources() throws IOException {
 
     @Override
     void announceBufferSize(int newBufferSize) {
-        checkState(!isReleased, "Channel released.");
-
-        ResultSubpartitionView subpartitionView = 
checkNotNull(this.subpartitionView);
-        subpartitionView.notifyNewBufferSize(newBufferSize);
+        ResultSubpartitionView view = this.subpartitionView;
+        // if releaseAllResources would be called from the mailbox thread it 
is possible that

Review comment:
       The key problem here is following:
   
   - The mailbox takes EndOfPartitionEvent for handling
   - At the same time, timerService submit buffer debloater to the mailbox
   - The mailbox release all resources for the channel because of 
EndOfPartitionEvent
   - the mailbox submit suspend mailbox task to mailbox because all channels  
were ended
   - The mailbox takes the next task which is buffer debloater and we have the 
problem describing in this task




-- 
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