-
Bug
-
Resolution: Obsolete
-
Major
-
3.2.0.Final
-
False
-
-
False
-
Important
Bug report
What Debezium connector do you use and what version?
io.debezium.connector.mariadb.MariaDbConnector:3.2.0.Final
debezium-connector-binlog:3.2.0.Final
What is the connector configuration?
io.debezium.config.Configuration.create()
.with("name", "mariadb-connector")
.with("connector.class", "io.debezium.connector.mariadb.MariaDbConnector")
.with("offset.storage", "org.apache.kafka.connect.storage.FileOffsetBackingStore")
.with("offset.storage.file.filename", "temp-folder/offset/offset.dat")
.with("offset.flush.interval.ms", 60000)
.with("schema.history.internal", "io.debezium.storage.file.history.FileSchemaHistory")
.with("schema.history.internal.file.filename", "temp-folder/schema-history/schema.dat")
.with("database.server.id", "85744")
.with("database.hostname", "localhost")
.with("database.port", 3306)
.with("database.user", "root")
.with("database.password", "root")
.with("database.include.list", "trial")
.with("table.include.list", "trial-2")
.with("topic.prefix", "mariadb-connector")
.build()
What is the captured database version and mode of deployment?
MariaDB@10.5 in my local PC running in a docker container
What behavior do you see?
Caused by: java.lang.NullPointerException: Cannot invoke "com.github.shyiko.mysql.binlog.GtidSet.toString()" because "this.gtidSet" is null at com.github.shyiko.mysql.binlog.BinaryLogClient.requestBinaryLogStreamMaria(BinaryLogClient.java:827) ~[mysql-binlog-connector-java-0.40.2.jar:0.40.2] at com.github.shyiko.mysql.binlog.BinaryLogClient.requestBinaryLogStream(BinaryLogClient.java:793) ~[mysql-binlog-connector-java-0.40.2.jar:0.40.2] at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:619) ~[mysql-binlog-connector-java-0.40.2.jar:0.40.2] at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:959) ~[mysql-binlog-connector-java-0.40.2.jar:0.40.2]
binlog is ON mariadb side. Here is also gtid variables in db:
gtid_binlog_pos 0-1-1 gtid_binlog_state 0-1-1 gtid_cleanup_batch_size 64 gtid_current_pos 0-1-1 gtid_domain_id 0 gtid_ignore_duplicates OFF gtid_pos_auto_engines gtid_slave_pos gtid_strict_mode OFF wsrep_gtid_domain_id 0 wsrep_gtid_mode OFF
For whatever reason, I'm always getting this error saying that gtidSet is not set. Then I examined code and noticed that gtidSet is only set in here:

Since I have no filteredGtidSet, client gtidSet is being set as empty string. But in BinaryLogClient:

gtidSet is not being set if gtidStr is empty string which is the case I did mentioned. That concludes with gtidSet being null, and this is the part where the code crashes with NPE:

I cannot disable gtid as it is harcoded unlike in mysql. How should I proceed? Are you aware of this, maybe I'm missing something else