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

Antlr parser raising exception for MySQL-valid ALTER TABLE

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 0.8.0.CR1
    • 0.8.0.Beta1
    • mysql-connector
    • None

    Description

      2018-06-25 19:59:37,039 ERROR  MySQL|dev_db1|binlog  Error during binlog processing. Last offset stored = {ts_sec=1529956748, file=dev-db1-bin.000031, pos=6198067, server_id=1, event=1}, binlog reader near position = dev-db1-bin.000031/6198067   [io.debezium.connector.mysql.BinlogReader]
      2018-06-25 19:59:37,040 ERROR  MySQL|dev_db1|binlog  Failed due to error: Error processing binlog event   [io.debezium.connector.mysql.BinlogReader]
      org.apache.kafka.connect.errors.ConnectException: Trying to change column column_name in db_name.table_name table, which does not exists. Query: CHANGE `column_name` `column_name` ENUM('Foo','Bar','Baz') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'Foo'
              at io.debezium.connector.mysql.AbstractReader.wrap(AbstractReader.java:200)
              at io.debezium.connector.mysql.AbstractReader.failed(AbstractReader.java:178)
              at io.debezium.connector.mysql.BinlogReader.handleEvent(BinlogReader.java:452)
              at com.github.shyiko.mysql.binlog.BinaryLogClient.notifyEventListeners(BinaryLogClient.java:1055)
              at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:913)
              at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:559)
              at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:793)
              at java.lang.Thread.run(Thread.java:748)
      Caused by: io.debezium.text.ParsingException: Trying to change column column_name in db_name.table_name table, which does not exists. Query: CHANGE `column_name` `column_name` ENUM('Foo','Bar','Baz') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'Foo'
              at io.debezium.connector.mysql.antlr.listener.AlterTableParserListener.lambda$enterAlterByChangeColumn$7(AlterTableParserListener.java:152)
              at io.debezium.connector.mysql.antlr.MySqlAntlrDdlParser.runIfNotNull(MySqlAntlrDdlParser.java:285)
              at io.debezium.connector.mysql.antlr.listener.AlterTableParserListener.enterAlterByChangeColumn(AlterTableParserListener.java:143)
              at io.debezium.ddl.parser.mysql.generated.MySqlParser$AlterByChangeColumnContext.enterRule(MySqlParser.java:12540)
              at io.debezium.antlr.ProxyParseTreeListenerUtil.delegateEnterRule(ProxyParseTreeListenerUtil.java:45)
              at io.debezium.connector.mysql.antlr.listener.MySqlAntlrDdlParserListener.enterEveryRule(MySqlAntlrDdlParserListener.java:89)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.enterRule(ParseTreeWalker.java:41)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:25)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)
              at io.debezium.antlr.AntlrDdlParser.parse(AntlrDdlParser.java:85)
              at io.debezium.connector.mysql.MySqlSchema.applyDdl(MySqlSchema.java:344)
              at io.debezium.connector.mysql.BinlogReader.handleQueryEvent(BinlogReader.java:637)
              at io.debezium.connector.mysql.BinlogReader.handleEvent(BinlogReader.java:436)
              ... 5 more
      2018-06-25 19:59:37,041 INFO   MySQL|dev_db1|binlog  Error processing binlog event, and propagating to Kafka Connect so it stops this connector. Future binlog events read before connector is shutdown will be ignored.   [io.debezium.connector.mysql.BinlogReader]
      2018-06-25 19:59:37,318 INFO   ||  WorkerSourceTask{id=inventory-connector-0} Committing offsets   [org.apache.kafka.connect.runtime.WorkerSourceTask]
      2018-06-25 19:59:37,318 INFO   ||  WorkerSourceTask{id=inventory-connector-0} flushing 0 outstanding messages for offset commit   [org.apache.kafka.connect.runtime.WorkerSourceTask]
      2018-06-25 19:59:37,318 ERROR  ||  WorkerSourceTask{id=inventory-connector-0} Task threw an uncaught and unrecoverable exception   [org.apache.kafka.connect.runtime.WorkerTask]
      org.apache.kafka.connect.errors.ConnectException: Trying to change column column_name in db_name.table_name table, which does not exists. Query: CHANGE `column_name` `column_name` ENUM('Foo','Bar','Baz') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'Foo'
              at io.debezium.connector.mysql.AbstractReader.wrap(AbstractReader.java:200)
              at io.debezium.connector.mysql.AbstractReader.failed(AbstractReader.java:178)
              at io.debezium.connector.mysql.BinlogReader.handleEvent(BinlogReader.java:452)
              at com.github.shyiko.mysql.binlog.BinaryLogClient.notifyEventListeners(BinaryLogClient.java:1055)
              at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:913)
              at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:559)
              at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:793)
              at java.lang.Thread.run(Thread.java:748)
      Caused by: io.debezium.text.ParsingException: Trying to change column column_name in db_name.table_name table, which does not exists. Query: CHANGE `column_name` `column_name` ENUM('Foo','Bar','Baz') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'Foo'
              at io.debezium.connector.mysql.antlr.listener.AlterTableParserListener.lambda$enterAlterByChangeColumn$7(AlterTableParserListener.java:152)
              at io.debezium.connector.mysql.antlr.MySqlAntlrDdlParser.runIfNotNull(MySqlAntlrDdlParser.java:285)
              at io.debezium.connector.mysql.antlr.listener.AlterTableParserListener.enterAlterByChangeColumn(AlterTableParserListener.java:143)
              at io.debezium.ddl.parser.mysql.generated.MySqlParser$AlterByChangeColumnContext.enterRule(MySqlParser.java:12540)
              at io.debezium.antlr.ProxyParseTreeListenerUtil.delegateEnterRule(ProxyParseTreeListenerUtil.java:45)
              at io.debezium.connector.mysql.antlr.listener.MySqlAntlrDdlParserListener.enterEveryRule(MySqlAntlrDdlParserListener.java:89)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.enterRule(ParseTreeWalker.java:41)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:25)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)
              at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)
              at io.debezium.antlr.AntlrDdlParser.parse(AntlrDdlParser.java:85)
              at io.debezium.connector.mysql.MySqlSchema.applyDdl(MySqlSchema.java:344)
              at io.debezium.connector.mysql.BinlogReader.handleQueryEvent(BinlogReader.java:637)
              at io.debezium.connector.mysql.BinlogReader.handleEvent(BinlogReader.java:436)
              ... 5 more
      2018-06-25 19:59:37,318 ERROR  ||  WorkerSourceTask{id=inventory-connector-0} Task is being killed and will not recover until manually restarted   [org.apache.kafka.connect.runtime.WorkerTask]
      2018-06-25 19:59:37,319 INFO   ||  [Producer clientId=producer-4] Closing the Kafka producer with timeoutMillis = 30000 ms.   [org.apache.kafka.clients.producer.KafkaProducer]
      2018-06-25 20:00:12,420 INFO   ||  WorkerSourceTask{id=inventory-connector-0} Committing offsets   [org.apache.kafka.connect.runtime.WorkerSourceTask]
      2018-06-25 20:00:12,421 INFO   ||  WorkerSourceTask{id=inventory-connector-0} flushing 0 outstanding messages for offset commit   [org.apache.kafka.connect.runtime.WorkerSourceTask]
      

      Attachments

        Activity

          People

            jpechane Jiri Pechanec
            jaggaer-afoxson Adam Foxson (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: