You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Yuxin Tan (Jira)" <ji...@apache.org> on 2022/08/12 04:27:00 UTC

[jira] [Created] (FLINK-28942) Deadlock may occurs when releasing readers for SortMergeResultPartition

Yuxin Tan created FLINK-28942:
---------------------------------

             Summary: Deadlock may occurs when releasing readers for SortMergeResultPartition
                 Key: FLINK-28942
                 URL: https://issues.apache.org/jira/browse/FLINK-28942
             Project: Flink
          Issue Type: Bug
    Affects Versions: 1.16.0
            Reporter: Yuxin Tan


After adding the logic of recycling buffers in CompositeBuffer in https://issues.apache.org/jira/browse/FLINK-28373, when reading data and recycling buffers simultaneously, the deadlock between the lock of SortMergeResultPartition and the lock of SingleInputGate may occur.

In short, the deadlock may occur as follows.

1. SingleInputGate.getNextBufferOrEvent (SingleInputGate lock)

CompositeBuffer.getFullBufferData -> CompositeBuffer.recycleBuffer -> waiting for 

SortMergeResultPartition lock;

2. ResultPartitionManager.releasePartition (SortMergeResultPartition lock) -> 

SortMergeSubpartitionReader.notifyDataAvailable -> 

SingleInputGate.notifyChannelNonEmpty -> waiting for SingleInputGate lock.

The possibility of this deadlock is very small, but we should fix the bug as soon as possible.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)