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

Debezium MySQL DDL parser: SECONDARY_ENGINE=RAPID does not support

XMLWordPrintable

    • Important

      Bug report

      For bug reports, provide this information, please:

      What Debezium connector do you use and what version?

      3.0.0.Final

      What is the connector configuration?

      mysql

      What is the captured database version and mode of deployment?

      (E.g. on-premises, with a specific cloud provider, etc.)

      OCI ORACLE HeatWave MySQL

      What behavior do you expect?

      The DDL can be parsed correctly

      What behavior do you see?

      The DDL parse failed.

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

      (Ideally, also verify with latest Alpha/Beta/CR version)

      Yes

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

      (You might be asked later to provide DEBUG/TRACE level log)
      [io.deb.con.bin.BinlogDatabaseSchema] (debezium-mysqlconnector-data-sync-mysql-change-event-source-coordinator) Ignoring unparseable DDL statement 'CREATE TABLE `participate_activities` (
        `id` bigint NOT NULL AUTO_INCREMENT,
        `user_id` bigint NOT NULL
        PRIMARY KEY (`id`) USING BTREE
      ) ENGINE=InnoDB AUTO_INCREMENT=1979503 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci SECONDARY_ENGINE=RAPID': io.debezium.text.ParsingException: DDL statement couldn't be parsed. Please open a Jira issue with the statement 'CREATE TABLE `participate_activities` (
        `id` bigint NOT NULL AUTO_INCREMENT,
        `user_id` bigint NOT NULL,
        PRIMARY KEY (`id`) USING BTREE
      ) ENGINE=InnoDB AUTO_INCREMENT=1979503 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci SECONDARY_ENGINE=RAPID'
      mismatched input 'SECONDARY_ENGINE' expecting {<EOF>, '-'}
      at io.debezium.antlr.ParsingErrorListener.syntaxError(ParsingErrorListener.java:43)
      at org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)
      at org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:544)
      at org.antlr.v4.runtime.DefaultErrorStrategy.reportInputMismatch(DefaultErrorStrategy.java:327)
      at org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:139)
      at io.debezium.ddl.parser.mysql.generated.MySqlParser.root(MySqlParser.java:1020)
      at io.debezium.connector.mysql.antlr.MySqlAntlrDdlParser.parseTree(MySqlAntlrDdlParser.java:82)
      at io.debezium.connector.mysql.antlr.MySqlAntlrDdlParser.parseTree(MySqlAntlrDdlParser.java:49)
      at io.debezium.antlr.AntlrDdlParser.parse(AntlrDdlParser.java:76)
      at io.debezium.connector.binlog.BinlogDatabaseSchema.parseDdl(BinlogDatabaseSchema.java:311)
      at io.debezium.connector.binlog.BinlogDatabaseSchema.parseSnapshotDdl(BinlogDatabaseSchema.java:243)
      at io.debezium.connector.binlog.BinlogSnapshotChangeEventSource.addSchemaEvent(BinlogSnapshotChangeEventSource.java:287)
      at io.debezium.connector.binlog.BinlogSnapshotChangeEventSource.lambda$createSchemaEventsForTables$4(BinlogSnapshotChangeEventSource.java:388)
      at io.debezium.jdbc.JdbcConnection.query(JdbcConnection.java:561)
      at io.debezium.jdbc.JdbcConnection.query(JdbcConnection.java:501)
      at io.debezium.connector.binlog.BinlogSnapshotChangeEventSource.createSchemaEventsForTables(BinlogSnapshotChangeEventSource.java:386)
      at io.debezium.connector.binlog.BinlogSnapshotChangeEventSource.readTableStructure(BinlogSnapshotChangeEventSource.java:360)
      at io.debezium.connector.binlog.BinlogSnapshotChangeEventSource.readTableStructure(BinlogSnapshotChangeEventSource.java:67)
      at io.debezium.relational.RelationalSnapshotChangeEventSource.doExecute(RelationalSnapshotChangeEventSource.java:163)
      at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:96)
      at io.debezium.pipeline.ChangeEventSourceCoordinator.doSnapshot(ChangeEventSourceCoordinator.java:297)
      at io.debezium.pipeline.ChangeEventSourceCoordinator.doSnapshot(ChangeEventSourceCoordinator.java:281)
      at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:192)
      at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:143)
      at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.base/java.lang.Thread.run(Unknown Source)
      Caused by: org.antlr.v4.runtime.InputMismatchException
      at org.antlr.v4.runtime.DefaultErrorStrategy.sync(DefaultErrorStrategy.java:270)
      at io.debezium.ddl.parser.mysql.generated.MySqlParser.root(MySqlParser.java:1003)
      ... 23 more
       

      How to reproduce the issue using our tutorial deployment?

      See [Here|https://dev.mysql.com/doc/heatwave/en/mys-hw-defining-secondary-engine.html]

      Feature request or enhancement

      For feature requests or enhancements, provide this information, please:

      Which use case/requirement will be addressed by the proposed feature?

      <Your answer>

      Implementation ideas (optional)

      <Your answer>

            anmohant Anisha Mohanty
            amit-gshe amit he
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: