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

Piotr Nowojski commented on FLINK-11082:
----------------------------------------

> Furthermore, the backlog would affect requesting floating buffers on 
> downstream side. That means some floating buffers are fetched in advance but 
> not be used for long time, so the floating buffers are not made use of 
> efficiently.

I think that wouldn't be an issue, if floating vs exclusive were abstract 
concept. Like if we assign a floating credit to a channel (for example bumping 
number of assigned buffers from 2 up to 3), once we release ANY buffer from 
this channel and the number goes back down to "2", it could be interpreted/be 
an equivalent of saying that the channel released floating buffer and currently 
holds only to two exclusive buffers. As far as I remember, currently that's not 
the case, right? If we have assigned 2 exclusive buffers, then we assign one 
floating buffer, floating buffer is released only we process all three of those 
buffers, right?

Maybe that's the root problem that we should fix? I think I vaguely remember 
this same behaviour causing some other problems.

> Increase backlog only if it is available for consumption
> --------------------------------------------------------
>
>                 Key: FLINK-11082
>                 URL: https://issues.apache.org/jira/browse/FLINK-11082
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Network
>    Affects Versions: 1.8.0
>            Reporter: zhijiang
>            Assignee: zhijiang
>            Priority: Minor
>
> The backlog should indicate how many buffers are available in subpartition 
> for downstream's  consumption. The availability is considered from two 
> factors. One is {{BufferConsumer}} finished, and the other is flush triggered.
> In current implementation, when the {{BufferConsumer}} is added into the 
> subpartition, then the backlog is increased as a result, but this 
> {{BufferConsumer}} is not yet available for network transport.
> Furthermore, the backlog would affect requesting floating buffers on 
> downstream side. That means some floating buffers are fetched in advance but 
> not be used for long time, so the floating buffers are not made use of 
> efficiently.
> We found this scenario extremely for rebalance selector on upstream side, so 
> we want to change when to increase backlog by finishing {{BufferConsumer}} or 
> flush triggered.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to