zhijiangW commented on a change in pull request #7186: [FLINK-10941] Keep slots which contain unconsumed result partitions URL: https://github.com/apache/flink/pull/7186#discussion_r238203555
########## File path: flink-runtime/src/main/java/org/apache/flink/runtime/io/network/netty/PartitionRequestQueue.java ########## @@ -134,10 +138,17 @@ public void cancel(InputChannelID receiverId) { ctx.pipeline().fireUserEventTriggered(receiverId); } - public void close() { + public void close() throws IOException { if (ctx != null) { ctx.channel().close(); } + + LOG.info("Close all {} readers pending for close.", readersToClose.size()); Review comment: If we rely on the close request for handling release logic, have you considered the scenarios of tcp channel shared by multiple tasks? In this case, if one downstream task have consumed all the upstream's data, but this tcp channel is also reused by other parallelism tasks, then the close request will not be sent until all the shared tasks are finished. Further in common sense, the sub partition can be released as along as network server has transported it completely, no need to wait all the inqueue buffers are processed completely by downstream side. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on 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