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

Possibly broken schema.history.internal.skip.unparseable.ddl for MariaDB

XMLWordPrintable

    • False
    • None
    • False

      Setting 

      schema.history.internal.skip.unparseable.ddl=true 

      Still causes an exception to be thrown when unparseable ddl is encoutered – at least for MariaDB

      Reporducer: 

      start the tutorial example with maria db (Not available in main, here is a branch 

      Execute the following SQL

      alter table customers add index idx_id (id);
      alter table customers alter index if exists `idx_id` IGNORED; 

      The following error still happens:

       io.debezium.text.ParsingException: DDL statement couldn't be parsed. Please open a Jira issue with the statement 'alter table customers alter index if exists `idx_id` IGNORED'
      connect-1    | no viable alternative at input 'alter table customers alter index if exists'
      connect-1    |  at io.debezium.antlr.ParsingErrorListener.syntaxError(ParsingErrorListener.java:43)
      connect-1    |  at org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)
      connect-1    |  at org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:543)
      connect-1    |  at org.antlr.v4.runtime.DefaultErrorStrategy.reportNoViableAlternative(DefaultErrorStrategy.java:310)
      connect-1    |  at org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:136)
      connect-1    |  at io.debezium.ddl.parser.mariadb.generated.MariaDBParser.sqlStatements(MariaDBParser.java:1270)
      connect-1    |  at io.debezium.ddl.parser.mariadb.generated.MariaDBParser.root(MariaDBParser.java:990)
      connect-1    |  at io.debezium.connector.mariadb.antlr.MariaDbAntlrDdlParser.parseTree(MariaDbAntlrDdlParser.java:72)
      connect-1    |  at io.debezium.connector.mariadb.antlr.MariaDbAntlrDdlParser.parseTree(MariaDbAntlrDdlParser.java:46)
      connect-1    |  at io.debezium.antlr.AntlrDdlParser.parse(AntlrDdlParser.java:76)
      connect-1    |  at io.debezium.connector.binlog.BinlogDatabaseSchema.parseDdl(BinlogDatabaseSchema.java:311)
      connect-1    |  at io.debezium.connector.binlog.BinlogDatabaseSchema.parseStreamingDdl(BinlogDatabaseSchema.java:258)
      connect-1    |  at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleQueryEvent(BinlogStreamingChangeEventSource.java:738)
      connect-1    |  at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$execute$5(BinlogStreamingChangeEventSource.java:179)
      connect-1    |  at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleEvent(BinlogStreamingChangeEventSource.java:571)
      connect-1    |  at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$execute$17(BinlogStreamingChangeEventSource.java:209)
      connect-1    |  at com.github.shyiko.mysql.binlog.BinaryLogClient.notifyEventListeners(BinaryLogClient.java:1281)
      connect-1    |  at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1103)
      connect-1    |  at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:657)
      connect-1    |  at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:959)
      connect-1    |  at java.base/java.lang.Thread.run(Thread.java:1583)
      connect-1    | Caused by: org.antlr.v4.runtime.NoViableAltException
      connect-1    |  at org.antlr.v4.runtime.atn.ParserATNSimulator.noViableAlt(ParserATNSimulator.java:2028)
      connect-1    |  at org.antlr.v4.runtime.atn.ParserATNSimulator.execATN(ParserATNSimulator.java:467)
      connect-1    |  at org.antlr.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:393)
      connect-1    |  at io.debezium.ddl.parser.mariadb.generated.MariaDBParser.sqlStatements(MariaDBParser.java:1066)
      connect-1    |  ... 15 more 

              Unassigned Unassigned
              jakub-2 Jakub Čecháček
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: