Github user zhijiangW commented on a diff in the pull request:
https://github.com/apache/flink/pull/6254#discussion_r201293052
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/RemoteInputChannel.java
---
@@ -479,6 +508,9 @@ void onSenderBacklog(int backlog) throws IOException {
numRequiredBuffers = backlog + initialCredit;
while (bufferQueue.getAvailableBufferSize() <
numRequiredBuffers && !isWaitingForFloatingBuffers) {
+ // TODO: this will take a lock in the
LocalBufferPool as well and needs to be done
+ // outside the synchronized block (which is a
bit difficult trying to acquire the
+ // lock only once!
Buffer buffer =
inputGate.getBufferPool().requestBuffer();
--- End diff --
Agree with your suggestion.
---