Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
1.14.0
Description
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.
Attachments
Issue Links
- causes
-
FLINK-25185 StreamFaultToleranceTestBase hangs on AZP
- Closed
-
FLINK-25407 Network stack deadlock when cancellation happens during initialisation
- Closed
- is related to
-
FLINK-13203 [proper fix] Deadlock occurs when requiring exclusive buffer for RemoteInputChannel
- Open
-
FLINK-12852 [hotfix timeout] Deadlock occurs when requiring exclusive buffer for RemoteInputChannel
- Closed
- relates to
-
FLINK-23466 UnalignedCheckpointITCase hangs on Azure
- Closed
- links to