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

Keyword ORDER is a valid identifier in MySQL grammar

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Minor
    • 1.5.0.CR1
    • 1.5.0.Beta1
    • mysql-connector
    • None

    Description

      Debezium connector for MySQL failed at the beginning when fetching DDL statements. Changing `internal.implementation` to `legacy` didn't help. Possibly it's caused by the table name `order`.

      ! org.antlr.v4.runtime.NoViableAltException: null
      ! at org.antlr.v4.runtime.atn.ParserATNSimulator.noViableAlt(ParserATNSimulator.java:2026)
      ! at org.antlr.v4.runtime.atn.ParserATNSimulator.execATN(ParserATNSimulator.java:467)
      ! at org.antlr.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:393)
      ! at io.debezium.ddl.parser.mysql.generated.MySqlParser.sqlStatements(MySqlParser.java:959)
      ! ... 16 common frames omitted
      ! Causing: io.debezium.text.ParsingException: DDL statement couldn't be parsed. Please open a Jira issue with the statement 'DROP TABLE IF EXISTS order'
      ! no viable alternative at input 'DROP TABLE IF EXISTS order'
      ! 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.reportNoViableAlternative(DefaultErrorStrategy.java:310)
      ! at org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:136)
      ! at io.debezium.ddl.parser.mysql.generated.MySqlParser.sqlStatements(MySqlParser.java:1157)
      ! at io.debezium.ddl.parser.mysql.generated.MySqlParser.root(MySqlParser.java:885)
      ! at io.debezium.connector.mysql.antlr.MySqlAntlrDdlParser.parseTree(MySqlAntlrDdlParser.java:72)
      ! at io.debezium.connector.mysql.antlr.MySqlAntlrDdlParser.parseTree(MySqlAntlrDdlParser.java:45)
      ! at io.debezium.antlr.AntlrDdlParser.parse(AntlrDdlParser.java:80)
      ! at io.debezium.relational.history.AbstractDatabaseHistory.lambda$recover$1(AbstractDatabaseHistory.java:117)
      ! at io.debezium.relational.history.KafkaDatabaseHistory.recoverRecords(KafkaDatabaseHistory.java:307)
      ! at io.debezium.relational.history.AbstractDatabaseHistory.recover(AbstractDatabaseHistory.java:84)
      ! at io.debezium.relational.HistorizedRelationalDatabaseSchema.recover(HistorizedRelationalDatabaseSchema.java:49)
      ! at io.debezium.connector.mysql.MySqlConnectorTask.validateAndLoadDatabaseHistory(MySqlConnectorTask.java:307)
      ! at io.debezium.connector.mysql.MySqlConnectorTask.start(MySqlConnectorTask.java:92)
      ! at io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:130)
      ! at io.debezium.embedded.EmbeddedEngine.run(EmbeddedEngine.java:759)
      ! at io.debezium.embedded.ConvertingEngineBuilder$2.run(ConvertingEngineBuilder.java:181)
      ! at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      ! at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      ! at java.base/java.lang.Thread.run(Thread.java:834)
      

      Attachments

        Activity

          People

            ccranfor@redhat.com Chris Cranford
            yongzhou1 Yongzhou Gu (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: