Error processing binlog event [DBZ-9202]
- Dominant language
- HTML
- Stars
- 6
- Forks
- 8
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 1
Description
Migrated from [DBZ-9202](https://issues.redhat.com/browse/DBZ-9202)
h1. Bug report
For bug reports, provide this information, please:
h2. What Debezium connector do you use and what version?
MariaDB source connector version 3.0.6.Final
h2. What is the captured database version and mode of deployment?
Mariadb AWS RDS
h2. What behavior do you expect?
The expected behaviour is for the source record to be processed and the correct number of columns to be recognized.
h2. What behavior do you see?
The source record can't be processed and a wrong number of columns is shown.
h2. Do you see the same behaviour using the latest released Debezium version?
yes
h2. Do you have the connector logs, ideally from start till finish?
{code:java}
io.debezium.DebeziumException: Error processing binlog event
at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleEvent(BinlogStreamingChangeEventSource.java:591)
at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$execute$17(BinlogStreamingChangeEventSource.java:209)
at com.github.shyiko.mysql.binlog.BinaryLogClient.notifyEventListeners(BinaryLogClient.java:1281)
at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1103)
at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:657)
at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:959)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: io.debezium.DebeziumException: Error processing row in bi_test_table, internal schema size 2, but row size 3 , restart connector with schema recovery mode.
at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.validateChangeEventWithTable(BinlogStreamingChangeEventSource.java:1065)
at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$handleInsert$28(BinlogStreamingChangeEventSource.java:837)
at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleChange(BinlogStreamingChangeEventSource.java:1101)
at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleInsert(BinlogStreamingChangeEventSource.java:832)
at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$execute$7(BinlogStreamingChangeEventSource.java:183)
at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleEvent(BinlogStreamingChangeEventSource.java:571)
... 6 common frames omitted {code}
{code:java}
Error processing after of row in bi_test_table because it's different column size with internal schema size 2, but after size 3, restart connector with schema recovery mode. {code}
h2. How to reproduce?
DDL:
{code:java}
CREATE TABLE `test_db`.`test_table`
(
`id` varchar(255) NOT NULL,
`token` varchar(1536) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `token_unique_key` (`token`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci; {code}
Insert Statement:
{code:java}
INSERT INTO test_table (id, token)
VALUES ('1', 'token1'); {code}
Notes after testing:
{code:java}
-- fails with varchar(1536) + Unique Key
-- doesn't fail with varchar(1536) without Unique Key
-- doesn't fail with varchar(255) + Unique Key
-- doesn't fail with varchar(255) without Unique Key{code}
Contributor guide
Assessment
This issue has not been assessed yet.