田元志 created FLINK-35375:
---------------------------
Summary: About a question report "Failed to deserialize data of
EventHeaderV4" of flink cdc2.4.2
Key: FLINK-35375
URL: https://issues.apache.org/jira/browse/FLINK-35375
Project: Flink
Issue Type: Bug
Reporter: 田元志
This is an error reported by Flink CDC data synchronization because a lot of
data was missed during the process of synchronizing from polardb to selectdb.
We restarted the task from the binlog position and reported the same error
later. We saw from the Alibaba community that someone encountered this problem
and provided a debezium parameter setting that can solve it.
{code:java}
connect.keep.live.interval.ms=3000{code}
.We set this parameter but did not change any results, and as soon as the task
was started, an error was immediately reported, as shown below:
java.lang.RuntimeException: One or more fetchers have encountered exception at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcherManager.checkErrors(SplitFetcherManager.java:225)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.connector.base.source.reader.SourceReaderBase.getNextFetch(SourceReaderBase.java:169)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.connector.base.source.reader.SourceReaderBase.pollNext(SourceReaderBase.java:130)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.connector.base.source.reader.SourceReaderBase.pollNext(SourceReaderBase.java:156)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.streaming.api.operators.SourceOperator.emitNext(SourceOperator.java:385)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.streaming.runtime.io.StreamTaskSourceInput.emitNext(StreamTaskSourceInput.java:68)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:542)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:231)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:831)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:780)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:935)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:914)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:728)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.runtime.taskmanager.Task.run(Task.java:550)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at java.lang.Thread.run(Thread.java:750)
~[?:1.8.0_341] Caused by: java.lang.RuntimeException: SplitFetcher thread 0
received unexpected exception while polling the records at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:150)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:105)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
~[?:1.8.0_341] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
~[?:1.8.0_341] at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
~[?:1.8.0_341] at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
~[?:1.8.0_341] ... 1 more Caused by:
org.apache.kafka.connect.errors.ConnectException: An exception occurred in the
change event producer. This connector will be stopped. at
io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:50)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.ververica.cdc.connectors.mysql.debezium.task.context.MySqlErrorHandler.setProducerThrowable(MySqlErrorHandler.java:85)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
io.debezium.connector.mysql.MySqlStreamingChangeEventSource$ReaderThreadLifecycleListener.onEventDeserializationFailure(MySqlStreamingChangeEventSource.java:1553)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1064)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:631)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:932)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] ... 1 more Caused by:
io.debezium.DebeziumException: Failed to deserialize data of
EventHeaderV4\{timestamp=1715762712000, eventType=WRITE_ROWS,
serverId=27545817, headerLength=19, dataLength=8069, nextPosition=394608452,
flags=0} at
io.debezium.connector.mysql.MySqlStreamingChangeEventSource.wrap(MySqlStreamingChangeEventSource.java:1488)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
io.debezium.connector.mysql.MySqlStreamingChangeEventSource$ReaderThreadLifecycleListener.onEventDeserializationFailure(MySqlStreamingChangeEventSource.java:1553)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1064)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:631)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:932)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] ... 1 more Caused by:
com.github.shyiko.mysql.binlog.event.deserialization.EventDataDeserializationException:
Failed to deserialize data of EventHeaderV4\{timestamp=1715762712000,
eventType=WRITE_ROWS, serverId=27545817, headerLength=19, dataLength=8069,
nextPosition=394608452, flags=0} at
com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeEventData(EventDeserializer.java:341)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.nextEvent(EventDeserializer.java:244)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
io.debezium.connector.mysql.MySqlStreamingChangeEventSource$1.nextEvent(MySqlStreamingChangeEventSource.java:259)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1051)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:631)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:932)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] ... 1 more Caused by:
com.github.shyiko.mysql.binlog.event.deserialization.MissingTableMapEventException:
No TableMapEventData has been found for table id:73858. Usually that means
that you have started reading binary log 'within the logical event group' (e.g.
from WRITE_ROWS and not proceeding TABLE_MAP at
com.github.shyiko.mysql.binlog.event.deserialization.AbstractRowsEventDataDeserializer.deserializeRow(AbstractRowsEventDataDeserializer.java:109)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.event.deserialization.WriteRowsEventDataDeserializer.deserializeRows(WriteRowsEventDataDeserializer.java:64)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.event.deserialization.WriteRowsEventDataDeserializer.deserialize(WriteRowsEventDataDeserializer.java:56)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.event.deserialization.WriteRowsEventDataDeserializer.deserialize(WriteRowsEventDataDeserializer.java:32)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeEventData(EventDeserializer.java:335)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.nextEvent(EventDeserializer.java:244)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
io.debezium.connector.mysql.MySqlStreamingChangeEventSource$1.nextEvent(MySqlStreamingChangeEventSource.java:259)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1051)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:631)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] at
com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:932)
~[hlkj-bigdata-1.0-SNAPSHOT.jar:?] ... 1 more
--
This message was sent by Atlassian Jira
(v8.20.10#820010)