You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Xin Gong (Jira)" <ji...@apache.org> on 2024/04/18 04:36:00 UTC

[jira] [Created] (FLINK-35151) Flink mysql cdc will stuck when suspend binlog split and ChangeEventQueue is full

Xin Gong created FLINK-35151:
--------------------------------

             Summary: Flink mysql cdc will  stuck when suspend binlog split and ChangeEventQueue is full
                 Key: FLINK-35151
                 URL: https://issues.apache.org/jira/browse/FLINK-35151
             Project: Flink
          Issue Type: Bug
          Components: Flink CDC
         Environment: I use master branch reproduce it.

Reason is that producing binlog is too fast.  MySqlSplitReader#suspendBinlogReaderIfNeed will execute BinlogSplitReader#stopBinlogReadTask to set 

currentTaskRunning to be false after MysqSourceReader receives binlog split update event.

MySqlSplitReader#pollSplitRecords is executed and 

dataIt is null to execute closeBinlogReader when currentReader is BinlogSplitReader. closeBinlogReader will execute statefulTaskContext.getBinaryLogClient().disconnect(), it could dead lock. Because BinaryLogClient#connectLock is not release  when MySqlStreamingChangeEventSource add element to full queue.
            Reporter: Xin Gong
         Attachments: dumpstack.txt

Flink mysql cdc will  stuck when suspend binlog split and ChangeEventQueue is full.

 



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