[
https://issues.apache.org/jira/browse/FLINK-24035?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Piotr Nowojski reopened FLINK-24035:
------------------------------------
Re-opening as we want to refactor the code that we have just merged a bit.
> Fix the deadlock issue caused by buffer listeners may not be notified
> ---------------------------------------------------------------------
>
> Key: FLINK-24035
> URL: https://issues.apache.org/jira/browse/FLINK-24035
> Project: Flink
> Issue Type: Bug
> Components: Runtime / Network
> Affects Versions: 1.14.0
> Reporter: Yingjie Cao
> Assignee: Yingjie Cao
> Priority: Critical
> Labels: pull-request-available
> Fix For: 1.14.0
>
>
> The buffer listeners are not notified when the the local buffer pool receives
> available notification from the global pool. This may cause potential
> deadlock issue:
> # A LocalBufferPool is created, but there is no available buffers in the
> global NetworkBufferPool.
> # The LocalBufferPool registers an available buffer listener to the global
> NetworkBufferPool.
> # The BufferManager requests buffers from the LocalBufferPool but no buffer
> is available. As a result, it registers an available buffer listener to the
> LocalBufferPool.
> # A buffer is recycled to the global pool and the local buffer pool is
> notified about the available buffer.
> # The local buffer pool requests the available buffer from the global pool
> but the registered available buffer listener of BufferManager is not notified
> and it can never get a chance to be notified so deadlock occurs.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)