zhijiang created FLINK-8747:
-------------------------------
Summary: The tag of waiting for floating buffers in
RemoteInputChannel should be updated properly
Key: FLINK-8747
URL: https://issues.apache.org/jira/browse/FLINK-8747
Project: Flink
Issue Type: Sub-task
Components: Network
Affects Versions: 1.5.0
Reporter: zhijiang
Assignee: zhijiang
In credit-based flow control mode, when the number of available buffers is less
than required buffers (backlog + initialCredit), the {{RemoteInputChannel}}
will request floating buffers from {{BufferProvider}}. If not get enough
available floating buffers, the {{RemoteInputChannel}} registers itself as
listener in {{BufferProvider}} and updates the tag
{{isWaitingForFloatingBuffers}} as {{true}} to avoid registration repeatedly.
When a floating buffer is recycled to {{BufferProvider}}, it will notify the
listener of available buffer. But the listener may not need floating buffers
currently if the available buffers is not less than required buffers, then the
floating buffers will be returned to {{BufferProvider}} directly. Most
importantly, the tag {{isWaitingForFloatingBuffers}} should also be updated as
{{false,otherwise the }}{{RemoteInputChannel}} will not request floating
buffers any more after the available buffers less than required buffers.
There are two scenarios for causing the above issue:
* The recycled exclusive buffers increase the total available buffers which is
equal to or more than required buffers.
* The decreased sender's backlog resulting the available buffers equal to
required buffers.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)