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

zhijiang commented on FLINK-13442:
----------------------------------

I change the priority of this issue as not blocker and create another ticket 
FLINK-13493 for tracing the possible issue of blocking partition release.

I know the default release strategy for blocking partition is via notification 
from JM/scheduler. But if we might switch the option to based on consumption 
notification, it would cause problems.

> Remove unnecessary notifySubpartitionConsumed method from view reader 
> ----------------------------------------------------------------------
>
>                 Key: FLINK-13442
>                 URL: https://issues.apache.org/jira/browse/FLINK-13442
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Network
>            Reporter: zhijiang
>            Assignee: zhijiang
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 1.10
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently the methods of 
> `NetworkSequenceViewReader#notifySubpartitionConsumed` and ` 
> NetworkSequenceViewReader#releaseAllResources` would be called meanwhile in 
> netty stack during releasing resources.
> As confirmed in FLINK-13245, in order to make this release logic simple and 
> clean, we could remove the redundant `notifySubpartitionConsumed` from 
> `NetworkSequenceViewReader` side, and also remove it from 
> `ResultSubpartitionView` side. In the implementation of 
> `ResultSubpartitionView#releaseAllResources` it would further notify the 
> parent subpartition of consumed state via 
> `ResultSubpartition#notifySubpartitionConsumed` which further feedback to 
> parent `ResultPartition` layer via `onConsumedSubpartition`. Finally 
> `ResultPartition` could decide whether to release itself or not.
> E.g. for the case of `ReleaseOnConsumptionResultPartition` which is mainly 
> used for pipelined partition, it would release partition after reference 
> counter decreased to 0. For the case of `ResultPartition` which would be 
> generated for blocking partition by default, it would never be released after 
> notifying consumed. And the JM/scheduler would decide when to release 
> partition properly.
> In addition, `InputChannel#notifySubpartitionConsumed` could also be removed 
> as a result of above.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to