NPE when using Debezium Embedded in Quarkus

21 views
Skip to first unread message

Alex Soto Bueno

unread,
Jun 14, 2022, 2:13:41 PM6/14/22
to debezium
I am running the following project using Quarkus + DevServices + Debezium Embedded in MySQL:


If you start Quarkus in dev mode (quarkus dev) everything starts correctly but then I got the following NPE exception:

2022-06-14 19:47:43,804 ERROR [io.deb.pip.ErrorHandler] (debezium-mysqlconnector-games-mysql-db-server-change-event-source-coordinator) Producer failure: io.debezium.DebeziumException: java.lang.NullPointerException: Cannot invoke "io.debezium.connector.mysql.antlr.listener.DefaultValueParserListener.exitDefaultValue(boolean)" because "this.defaultValueListener" is null
    at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:85)
    at io.debezium.pipeline.ChangeEventSourceCoordinator.doSnapshot(ChangeEventSourceCoordinator.java:155)
    at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:137)
    at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:109)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.NullPointerException: Cannot invoke "io.debezium.connector.mysql.antlr.listener.DefaultValueParserListener.exitDefaultValue(boolean)" because "this.defaultValueListener" is null
    at io.debezium.connector.mysql.antlr.listener.ColumnDefinitionParserListener.exitColumnDefinition(ColumnDefinitionParserListener.java:93)
    at io.debezium.ddl.parser.mysql.generated.MySqlParser$ColumnDefinitionContext.exitRule(MySqlParser.java:9317)
    at io.debezium.antlr.ProxyParseTreeListenerUtil.delegateExitRule(ProxyParseTreeListenerUtil.java:64)
    at io.debezium.connector.mysql.antlr.listener.MySqlAntlrDdlParserListener.exitEveryRule(MySqlAntlrDdlParserListener.java:106)
    at org.antlr.v4.runtime.tree.ParseTreeWalker.exitRule(ParseTreeWalker.java:63)
    at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:38)
    at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:36)
    at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:36)
    at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:36)
    at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:36)
    at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:36)
    at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:36)
    at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:36)
    at io.debezium.antlr.AntlrDdlParser.parse(AntlrDdlParser.java:87)
    at io.debezium.connector.mysql.MySqlDatabaseSchema.parseDdl(MySqlDatabaseSchema.java:224)
    at io.debezium.connector.mysql.MySqlDatabaseSchema.parseSnapshotDdl(MySqlDatabaseSchema.java:204)
    at io.debezium.connector.mysql.MySqlSnapshotChangeEventSource.addSchemaEvent(MySqlSnapshotChangeEventSource.java:303)
    at io.debezium.connector.mysql.MySqlSnapshotChangeEventSource.lambda$createSchemaEventsForTables$5(MySqlSnapshotChangeEventSource.java:373)
    at io.debezium.jdbc.JdbcConnection.query(JdbcConnection.java:549)
    at io.debezium.jdbc.JdbcConnection.query(JdbcConnection.java:490)
    at io.debezium.connector.mysql.MySqlSnapshotChangeEventSource.createSchemaEventsForTables(MySqlSnapshotChangeEventSource.java:371)
    at io.debezium.connector.mysql.MySqlSnapshotChangeEventSource.readTableStructure(MySqlSnapshotChangeEventSource.java:360)
    at io.debezium.connector.mysql.MySqlSnapshotChangeEventSource.readTableStructure(MySqlSnapshotChangeEventSource.java:47)
    at io.debezium.relational.RelationalSnapshotChangeEventSource.doExecute(RelationalSnapshotChangeEventSource.java:114)
    at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:76)


Any idea how to fix that?

Thanks.

Chris Cranford

unread,
Jun 14, 2022, 2:53:48 PM6/14/22
to debe...@googlegroups.com, Alex Soto Bueno
Hi Alex -

On the surface that seems like a bug, at no point should we ever throw a NPE.  Can you log a Jira issue for this and if possible, could you include the DDL that triggered this error?

Thanks,
Chris
--
You received this message because you are subscribed to the Google Groups "debezium" group.
To unsubscribe from this group and stop receiving emails from it, send an email to debezium+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/debezium/1d473393-4193-49dd-8504-7320fdbf2998n%40googlegroups.com.

Alex Soto Bueno

unread,
Jun 14, 2022, 2:55:02 PM6/14/22
to Chris Cranford, debe...@googlegroups.com
Well I can share with you the project, you just run with Docker host started and it will take care of everything.

Alex Soto Bueno

unread,
Jun 14, 2022, 2:59:38 PM6/14/22
to debezium
Reply all
Reply to author
Forward
0 new messages