flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-8747) The tag of waiting for floating buffers in RemoteInputChannel should be updated properly
Date Fri, 23 Feb 2018 01:58:00 GMT

    [ https://issues.apache.org/jira/browse/FLINK-8747?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16373809#comment-16373809

ASF GitHub Bot commented on FLINK-8747:

Github user zhijiangW commented on a diff in the pull request:

    --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/RemoteInputChannel.java
    @@ -337,6 +337,11 @@ public int getSenderBacklog() {
     		return numRequiredBuffers - initialCredit;
    +	@VisibleForTesting
    +	public boolean isWaitingForFloatingBuffers() {
    --- End diff --

> 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
>            Priority: Minor
> 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

View raw message