alibaba / canal

阿里巴巴 MySQL binlog 增量订阅&消费组件
Apache License 2.0
28.44k stars 7.6k forks source link

Canal 1.1.7启动报错,无法识别部分DDL #5074

Open dengzhihang opened 7 months ago

dengzhihang commented 7 months ago

只有部分库消费会出现此类错误, 作为对比,1.1.6版本没有出现此类错误

environment

Issue Description

WARN c.a.otter.canal.parse.inbound.mysql.tsdb.MemoryTableMeta - parse faield : CREATE TABLE XXX 建表语句

com.alibaba.druid.sql.parser.ParserException: illegal name, pos 855938, line 13850, column 7, token UPDATE at com.alibaba.druid.sql.parser.SQLExprParser.name(SQLExprParser.java:2370) at com.alibaba.druid.sql.parser.SQLExprParser.parseIndex(SQLExprParser.java:5461) at com.alibaba.druid.sql.dialect.mysql.parser.MySqlCreateTableParser.parseConstraint(MySqlCreateTableParser.java:1709) at com.alibaba.druid.sql.dialect.mysql.parser.MySqlCreateTableParser.parseCreateTable(MySqlCreateTableParser.java:405) at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseCreate(MySqlStatementParser.java:296) at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:245) at com.alibaba.druid.sql.SQLUtils.parseStatements(SQLUtils.java:599) at com.alibaba.druid.sql.repository.SchemaRepository.console(SchemaRepository.java:468) at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.MemoryTableMeta.apply(MemoryTableMeta.java:85) at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.DatabaseTableMeta.buildMemFromSnapshot(DatabaseTableMeta.java:423) at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.DatabaseTableMeta.rollback(DatabaseTableMeta.java:166) at com.alibaba.otter.canal.parse.inbound.mysql.AbstractMysqlEventParser.processTableMeta(AbstractMysqlEventParser.java:145) at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:192) at java.base/java.lang.Thread.run(Thread.java:831)

Steps to reproduce

Expected behaviour

Actual behaviour

If there is an exception, please attach the exception trace:

Just put your stack trace here!
agapple commented 7 months ago

提供下完整的parse failed涉及的DDL语句