EventDataDeserializationException: eventType=TABLE_MAP for AWS Aurora MySQL

48 views
Skip to first unread message

Justine Paul Padayao

unread,
Jun 7, 2024, 12:40:36 AMJun 7
to debezium
Hello,

What Debezium connector do you use and what version?

Confluent Kafka Connect Version 2.4.2


What is the connector configuration?

{
  "name": "mysql-connector",
  "config":
   

{       "connector.class": "io.debezium.connector.mysql.MySqlConnector",       "tasks.max": "1",       "database.hostname": "",       "database.port": "3306",       "database.user": "",       "database.password": "",       "database.server.id": "1234",       "database.include.list": "budget",       "table.include.list": "budget.kafka_test",       "schema.history.internal.store.only.captured.tables.ddl": "true",       "schema.history.internal.store.only.captured.databases.ddl": "true",       "topic.prefix": "mysql-budget",       "include.schema.changes": "true",       "event.processing.failure.handling.mode": "ignore",       "event.deserialization.failure.handling.mode": "ignore",       "schema.history.internal.kafka.bootstrap.servers": "kafka:29092",       "schema.history.internal.kafka.topic": "schema-changes.budget"     }

}

What is the captured database version and mode of deployment?

Cloud Hosted via AWS - MySQL Aurora Version: 8.0.32

What behaviour do you expect?

Capture changes without the error.

What behaviour do you see?

 

Do you see the same behaviour using the latest released Debezium version?

Yes

Do you have the connector logs, ideally from start till finish?

2024-06-06 21:43:24    

{before=[3, 1562757231451, 0, 2024-05-21T07:28:33Z], after=[3, 1562757231451, 0, 2024-06-06T13:15:42Z]}

2024-06-06 21:43:24 ]}} (io.debezium.connector.mysql.MySqlStreamingChangeEventSource)
2024-06-06 21:43:24 [2024-06-06 13:43:24,877] TRACE Current milliseconds behind source: 1662877 ms (io.debezium.connector.mysql.MySqlStreamingChangeEventSource)
2024-06-06 21:43:24 [2024-06-06 13:43:24,877] TRACE Received event: Event{header=EventHeaderV4

{timestamp=1717679742000, eventType=XID, serverId=1777642305, headerLength=19, dataLength=12, nextPosition=21216228, flags=0}

, data=XidEventData{xid=5351972625306}} (io.debezium.connector.mysql.MySqlStreamingChangeEventSource)
2024-06-06 21:43:24 [2024-06-06 13:43:24,877] TRACE Ignoring event due to missing handler: Event{header=EventHeaderV4

{timestamp=1717679741000, eventType=ANONYMOUS_GTID, serverId=1777642305, headerLength=19, dataLength=66, nextPosition=21216313, flags=0}, data=null} (io.debezium.connector.mysql.MySqlStreamingChangeEventSource)
2024-06-06 21:43:24 [2024-06-06 13:43:24,877] TRACE Current milliseconds behind source: 1663877 ms (io.debezium.connector.mysql.MySqlStreamingChangeEventSource)
2024-06-06 21:43:24 [2024-06-06 13:43:24,877] TRACE Received event: Event{header=EventHeaderV4{timestamp=1717679741000, eventType=ANONYMOUS_GTID, serverId=1777642305, headerLength=19, dataLength=66, nextPosition=21216313, flags=0}

, data=null} (io.debezium.connector.mysql.MySqlStreamingChangeEventSource)
2024-06-06 21:43:24 [2024-06-06 13:43:24,877] DEBUG Received query command: Event{header=EventHeaderV4

{timestamp=1717679741000, eventType=QUERY, serverId=1777642305, headerLength=19, dataLength=74, nextPosition=21216406, flags=8}, data=QueryEventData{threadId=4859333, executionTime=0, errorCode=0, database='awsdms_control', sql='BEGIN'}} (io.debezium.connector.mysql.MySqlStreamingChangeEventSource)
2024-06-06 21:43:24 [2024-06-06 13:43:24,877] TRACE Current milliseconds behind source: 1663877 ms (io.debezium.connector.mysql.MySqlStreamingChangeEventSource)
2024-06-06 21:43:24 [2024-06-06 13:43:24,877] TRACE Received event: Event{header=EventHeaderV4{timestamp=1717679741000, eventType=QUERY, serverId=1777642305, headerLength=19, dataLength=74, nextPosition=21216406, flags=8}

, data=QueryEventData{threadId=4859333, executionTime=0, errorCode=0, database='awsdms_control', sql='BEGIN'}} (io.debezium.connector.mysql.MySqlStreamingChangeEventSource)
2024-06-06 21:43:24 [2024-06-06 13:43:24,877] DEBUG A communication failure event arrived (io.debezium.connector.mysql.MySqlStreamingChangeEventSource)
2024-06-06 21:43:24 com.github.shyiko.mysql.binlog.event.deserialization.EventDataDeserializationException: Failed to deserialize data of EventHeaderV4{timestamp=1717679741000, eventType=TABLE_MAP, serverId=1777642305, headerLength=19, dataLength=272, nextPosition=21216697, flags=0}
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeEventData(EventDeserializer.java:343)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeTableMapEventData(EventDeserializer.java:315)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.nextEvent(EventDeserializer.java:239)
2024-06-06 21:43:24     at io.debezium.connector.mysql.MySqlStreamingChangeEventSource$1.nextEvent(MySqlStreamingChangeEventSource.java:233)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1051)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:631)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:932)
2024-06-06 21:43:24     at java.base/java.lang.Thread.run(Thread.java:829)
2024-06-06 21:43:24 Caused by: java.io.EOFException: Failed to read remaining 2 of 2 bytes from position 157. Block length: 0. Initial block length: 2.
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.io.ByteArrayInputStream.fill(ByteArrayInputStream.java:115)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.io.ByteArrayInputStream.read(ByteArrayInputStream.java:105)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.TableMapEventMetadataDeserializer.readBooleanList(TableMapEventMetadataDeserializer.java:114)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.TableMapEventMetadataDeserializer.deserialize(TableMapEventMetadataDeserializer.java:100)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.TableMapEventDataDeserializer.deserialize(TableMapEventDataDeserializer.java:47)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.TableMapEventDataDeserializer.deserialize(TableMapEventDataDeserializer.java:27)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeEventData(EventDeserializer.java:337)
2024-06-06 21:43:24     ... 7 more
2024-06-06 21:43:24 [2024-06-06 13:43:24,877] ERROR Error during binlog processing. Last offset stored = {transaction_id=null, file=mysql-bin-changelog.171432, pos=21216313, server_id=1777642305, event=1}, binlog reader near position = mysql-bin-changelog.171432/21216406 (io.debezium.connector.mysql.MySqlStreamingChangeEventSource)
2024-06-06 21:43:24 [2024-06-06 13:43:24,879] ERROR Producer failure (io.debezium.pipeline.ErrorHandler)
2024-06-06 21:43:24 io.debezium.DebeziumException: Failed to deserialize data of EventHeaderV4{timestamp=1717679741000, eventType=TABLE_MAP, serverId=1777642305, headerLength=19, dataLength=272, nextPosition=21216697, flags=0}
2024-06-06 21:43:24     at io.debezium.connector.mysql.MySqlStreamingChangeEventSource.wrap(MySqlStreamingChangeEventSource.java:1254)
2024-06-06 21:43:24     at io.debezium.connector.mysql.MySqlStreamingChangeEventSource$ReaderThreadLifecycleListener.onCommunicationFailure(MySqlStreamingChangeEventSource.java:1299)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1079)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:631)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:932)
2024-06-06 21:43:24     at java.base/java.lang.Thread.run(Thread.java:829)
2024-06-06 21:43:24 Caused by: com.github.shyiko.mysql.binlog.event.deserialization.EventDataDeserializationException: Failed to deserialize data of EventHeaderV4{timestamp=1717679741000, eventType=TABLE_MAP, serverId=1777642305, headerLength=19, dataLength=272, nextPosition=21216697, flags=0}
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeEventData(EventDeserializer.java:343)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeTableMapEventData(EventDeserializer.java:315)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.nextEvent(EventDeserializer.java:239)
2024-06-06 21:43:24     at io.debezium.connector.mysql.MySqlStreamingChangeEventSource$1.nextEvent(MySqlStreamingChangeEventSource.java:233)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1051)
2024-06-06 21:43:24     ... 3 more
2024-06-06 21:43:24 Caused by: java.io.EOFException: Failed to read remaining 2 of 2 bytes from position 157. Block length: 0. Initial block length: 2.
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.io.ByteArrayInputStream.fill(ByteArrayInputStream.java:115)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.io.ByteArrayInputStream.read(ByteArrayInputStream.java:105)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.TableMapEventMetadataDeserializer.readBooleanList(TableMapEventMetadataDeserializer.java:114)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.TableMapEventMetadataDeserializer.deserialize(TableMapEventMetadataDeserializer.java:100)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.TableMapEventDataDeserializer.deserialize(TableMapEventDataDeserializer.java:47)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.TableMapEventDataDeserializer.deserialize(TableMapEventDataDeserializer.java:27)
2024-06-06 21:43:24     at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeEventData(EventDeserializer.java:337)
2024-06-06 21:43:24     ... 7 more
2024-06-06 21:43:24 [2024-06-06 13:43:24,879] WARN Retry 33 of unlimited retries will be attempted (io.debezium.pipeline.ErrorHandler)
2024-06-06 21:43:24 [2024-06-06 13:43:24,879] INFO Stopped reading binlog after 0 events, last recorded offset: {transaction_id=null, file=mysql-bin-changelog.171432, pos=21216313, server_id=1777642305, event=1} (io.debezium.connector.mysql.MySqlStreamingChangeEventSource)
2024-06-06 21:43:24 Jun 06, 2024 1:43:24 PM com.github.shyiko.mysql.binlog.BinaryLogClient$5 run
2024-06-06 21:43:24 INFO: threadExecutor is shut down, terminating keepalive thread
2024-06-06 21:43:25 [2024-06-06 13:43:25,221] WARN Going to restart connector after 10 sec. after a retriable exception (io.debezium.connector.common.BaseSourceTask)
2024-06-06 21:43:25 [2024-06-06 13:43:25,282] INFO Finished streaming (io.debezium.pipeline.ChangeEventSourceCoordinator)
2024-06-06 21:43:25 [2024-06-06 13:43:25,282] INFO SignalProcessor stopped (io.debezium.pipeline.signal.SignalProcessor)
2024-06-06 21:43:25 [2024-06-06 13:43:25,532] INFO Connection gracefully closed (io.debezium.jdbc.JdbcConnection)
2024-06-06 21:43:25 [2024-06-06 13:43:25,533] INFO [Producer clientId=mysql-budget-schemahistory] Closing the Kafka producer with timeoutMillis = 30000 ms. (org.apache.kafka.clients.producer.KafkaProducer)
2024-06-06 21:43:25 [2024-06-06 13:43:25,533] INFO Metrics scheduler closed (org.apache.kafka.common.metrics.Metrics)
2024-06-06 21:43:25 [2024-06-06 13:43:25,533] INFO Closing reporter org.apache.kafka.common.metrics.JmxReporter (org.apache.kafka.common.metrics.Metrics)
2024-06-06 21:43:25 [2024-06-06 13:43:25,533] INFO Metrics reporters closed (org.apache.kafka.common.metrics.Metrics)
2024-06-06 21:43:25 [2024-06-06 13:43:25,533] INFO App info kafka.producer for mysql-budget-schemahistory unregistered (org.apache.kafka.common.utils.AppInfoParser)
2024-06-06 21:43:25 [2024-06-06 13:43:25,533] WARN WorkerSourceTask{id=mysql-connector-0} failed to poll records from SourceTask. Will retry operation. (org.apache.kafka.connect.runtime.AbstractWorkerSourceTask)
2024-06-06 21:43:25 org.apache.kafka.connect.errors.RetriableException: An exception occurred in the change event producer. This connector will be restarted.
2024-06-06 21:43:25     at io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:63)
2024-06-06 21:43:25     at io.debezium.connector.mysql.MySqlStreamingChangeEventSource$ReaderThreadLifecycleListener.onCommunicationFailure(MySqlStreamingChangeEventSource.java:1299)
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1079)
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:631)
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:932)
2024-06-06 21:43:25     at java.base/java.lang.Thread.run(Thread.java:829)
2024-06-06 21:43:25 Caused by: io.debezium.DebeziumException: Failed to deserialize data of EventHeaderV4{timestamp=1717679741000, eventType=TABLE_MAP, serverId=1777642305, headerLength=19, dataLength=272, nextPosition=21216697, flags=0}
2024-06-06 21:43:25     at io.debezium.connector.mysql.MySqlStreamingChangeEventSource.wrap(MySqlStreamingChangeEventSource.java:1254)
2024-06-06 21:43:25     ... 5 more
2024-06-06 21:43:25 Caused by: com.github.shyiko.mysql.binlog.event.deserialization.EventDataDeserializationException: Failed to deserialize data of EventHeaderV4{timestamp=1717679741000, eventType=TABLE_MAP, serverId=1777642305, headerLength=19, dataLength=272, nextPosition=21216697, flags=0}
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeEventData(EventDeserializer.java:343)
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeTableMapEventData(EventDeserializer.java:315)
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.nextEvent(EventDeserializer.java:239)
2024-06-06 21:43:25     at io.debezium.connector.mysql.MySqlStreamingChangeEventSource$1.nextEvent(MySqlStreamingChangeEventSource.java:233)
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1051)
2024-06-06 21:43:25     ... 3 more
2024-06-06 21:43:25 Caused by: java.io.EOFException: Failed to read remaining 2 of 2 bytes from position 157. Block length: 0. Initial block length: 2.
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.io.ByteArrayInputStream.fill(ByteArrayInputStream.java:115)
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.io.ByteArrayInputStream.read(ByteArrayInputStream.java:105)
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.event.deserialization.TableMapEventMetadataDeserializer.readBooleanList(TableMapEventMetadataDeserializer.java:114)
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.event.deserialization.TableMapEventMetadataDeserializer.deserialize(TableMapEventMetadataDeserializer.java:100)
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.event.deserialization.TableMapEventDataDeserializer.deserialize(TableMapEventDataDeserializer.java:47)
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.event.deserialization.TableMapEventDataDeserializer.deserialize(TableMapEventDataDeserializer.java:27)
2024-06-06 21:43:25     at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeEventData(EventDeserializer.java:337)
2024-06-06 21:43:25     ... 7 more
2024-06-06 21:43:25 [2024-06-06 13:43:25,534] INFO Awaiting end of restart backoff period after a retriable error (io.debezium.connector.common.BaseSourceTask)
2024-06-06 21:43:26 [2024-06-06 13:43:26,883] INFO 172.22.0.6 - - [06/Jun/2024:13:43:26 +0000] "GET /connectors HTTP/1.1" 200 19 "-" "curl/7.61.1" 1 (org.apache.kafka.connect.runtime.rest.RestServer)
2024-06-06 21:43:31 [2024-06-06 13:43:31,908] INFO 172.22.0.6 - - [06/Jun/2024:13:43:31 +0000] "GET /connectors HTTP/1.1" 200 19 "-" "curl/7.61.1" 2 (org.apache.kafka.connect.runtime.rest.RestServer)
2024-06-06 21:43:35 [2024-06-06 13:43:35,533] INFO Attempting to restart task. (io.debezium.connector.common.BaseSourceTask)
2024-06-06 21:43:35 [2024-06-06 13:43:35,533] INFO Loading the custom source info struct maker plugin: io.debezium.connector.mysql.MySqlSourceInfoStructMaker (io.debezium.config.CommonConnectorConfig)
2024-06-06 21:43:35 [2024-06-06 13:43:35,533] INFO Loading the custom topic naming strategy plugin: io.debezium.schema.DefaultTopicNamingStrategy (io.debezium.config.CommonConnectorConfig)
2024-06-06 21:43:36 [2024-06-06 13:43:36,932] INFO 172.22.0.6 - - [06/Jun/2024:13:43:36 +0000] "GET /connectors HTTP/1.1" 200 19 "-" "curl/7.61.1" 1 (org.apache.kafka.connect.runtime.rest.RestServer)
2024-06-06 21:43:37 [2024-06-06 13:43:37,792] DEBUG binlog_format=ROW (io.debezium.connector.mysql.MySqlConnection)
2024-06-06 21:43:38 [2024-06-06 13:43:38,041] DEBUG binlog_row_image=FULL (io.debezium.connector.mysql.MySqlConnection)

René Kerner

unread,
Jun 12, 2024, 3:53:22 AMJun 12
to debezium
Hey!

Could this maybe be related to DBZ-7794 [1]?
MySQL 8 changed the TABLE_MAP event to provide more data, could this be causing the issue?


Reply all
Reply to author
Forward
0 new messages