Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-5251

NPE when using Debezium Embedded in Quarkus

    XMLWordPrintable

Details

    Description

      In order to make your issue reports as actionable as possible, please provide the following information, depending on the issue type.

      Bug report

      For bug reports, provide this information, please:

      What Debezium connector do you use and what version?

      Debezium Embedded 1.9.3

       

      I am running the following project using Quarkus + DevServices + Debezium Embedded in MySQL:
       
      https://github.com/lordofthejars/movie-plays-kafka/tree/main/movie-plays-producer-debezium
       
      To reporoduce it just clone the project and having Docker host running in the machine run ./mvnq compile quarkus:dev
       
      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)
       
       
       

      Attachments

        Activity

          People

            asotobue Alex Soto
            asotobue Alex Soto
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: