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

Convert mysql time type default value error

    XMLWordPrintable

Details

    Description

      Create table ddl:

      create table test_all_types_001
      (
      id int DEFAULT 0,
      tinyi tinyint DEFAULT 0,
      smalli smallint DEFAULT 0,
      mediumi mediumint DEFAULT 0,
      bigi bigint DEFAULT 0,
      f float DEFAULT (RAND() * RAND()),
      dou double DEFAULT 0.00,
      de decimal(10,2) DEFAULT 0.00,
      
      c char(10) DEFAULT 'char',
      v varchar(255) DEFAULT 'varchar',
      te text DEFAULT 'text',
      tinyt tinytext DEFAULT 'tinytext',
      mediumt mediumtext DEFAULT 'mediumtext',
      longt longtext DEFAULT 'longtext',
      b blob DEFAULT 'blob',
      tinyb blob DEFAULT 'tinyblob',
      mediumb mediumblob DEFAULT 'mediumblob',
      longb longblob DEFAULT 'longblob',
      e enum('Low', 'Medium', 'High') NOT NULL,
      
      d date DEFAULT (CURRENT_DATE + INTERVAL 1 YEAR),
      dt datetime DEFAULT CURRENT_TIMESTAMP,
      ts timestamp DEFAULT CURRENT_TIMESTAMP,
      t time DEFAULT CURRENT_TIMESTAMP,
      y year DEFAULT 2000,
      
      PRIMARY KEY (id)
      );
      

      Error info:

      {
      "name": "debezium_test_216",
      "connector":
      
      { "state": "RUNNING", "worker_id": "xxx:28083" }
      
      ,
      "tasks": [
      
      { "id": 0, "state": "FAILED", "worker_id": "xxx:28083", "trace": "org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped.\n\tat io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:42)\n\tat io.debezium.connector.mysql.MySqlStreamingChangeEventSource.handleEvent(MySqlStreamingChangeEventSource.java:369)\n\tat com.github.shyiko.mysql.binlog.BinaryLogClient.notifyEventListeners(BinaryLogClient.java:1118)\n\tat com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:966)\n\tat com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:606)\n\tat com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:850)\n\tat java.base/java.lang.Thread.run(Thread.java:830)\nCaused by: io.debezium.DebeziumException: Error processing binlog event\n\t... 6 more\nCaused by: java.lang.RuntimeException: Unexpected format for TIME column: 1970-01-01 00:00:00\n\tat io.debezium.connector.mysql.MySqlValueConverters.stringToDuration(MySqlValueConverters.java:803)\n\tat io.debezium.connector.mysql.MySqlDefaultValueConverter.convertToDuration(MySqlDefaultValueConverter.java:173)\n\tat io.debezium.connector.mysql.MySqlDefaultValueConverter.convert(MySqlDefaultValueConverter.java:83)\n\tat io.debezium.connector.mysql.MySqlDefaultValueConverter.setColumnDefaultValue(MySqlDefaultValueConverter.java:403)\n\tat io.debezium.connector.mysql.antlr.listener.CreateTableParserListener.convertDefaultValueToSchemaType(CreateTableParserListener.java:147)\n\tat java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)\n\tat java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)\n\tat java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1621)\n\tat java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)\n\tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)\n\tat java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)\n\tat java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\n\tat java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)\n\tat io.debezium.connector.mysql.antlr.listener.CreateTableParserListener.lambda$exitColumnCreateTable$1(CreateTableParserListener.java:75)\n\tat io.debezium.connector.mysql.antlr.MySqlAntlrDdlParser.runIfNotNull(MySqlAntlrDdlParser.java:357)\n\tat io.debezium.connector.mysql.antlr.listener.CreateTableParserListener.exitColumnCreateTable(CreateTableParserListener.java:55)\n\tat io.debezium.ddl.parser.mysql.generated.MySqlParser$ColumnCreateTableContext.exitRule(MySqlParser.java:4715)\n\tat io.debezium.antlr.ProxyParseTreeListenerUtil.delegateExitRule(ProxyParseTreeListenerUtil.java:64)\n\tat io.debezium.connector.mysql.antlr.listener.MySqlAntlrDdlParserListener.exitEveryRule(MySqlAntlrDdlParserListener.java:106)\n\tat org.antlr.v4.runtime.tree.ParseTreeWalker.exitRule(ParseTreeWalker.java:48)\n\tat org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:30)\n\tat org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)\n\tat org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)\n\tat org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)\n\tat org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)\n\tat io.debezium.antlr.AntlrDdlParser.parse(AntlrDdlParser.java:85)\n\tat io.debezium.connector.mysql.MySqlDatabaseSchema.parseDdl(MySqlDatabaseSchema.java:210)\n\tat io.debezium.connector.mysql.MySqlDatabaseSchema.parseStreamingDdl(MySqlDatabaseSchema.java:197)\n\tat io.debezium.connector.mysql.MySqlStreamingChangeEventSource.handleQueryEvent(MySqlStreamingChangeEventSource.java:574)\n\tat io.debezium.connector.mysql.MySqlStreamingChangeEventSource.handleEvent(MySqlStreamingChangeEventSource.java:352)\n\t... 5 more\n" }
      
      ],
      "type": "source"
      }
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ywyuewei Harvey Yue
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: