alibaba / canal

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

polardb error #4466

Closed chenrlbj closed 1 year ago

chenrlbj commented 2 years ago

environment

Steps to reproduce

Expected behaviour

Actual behaviour

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

2022-10-21 17:19:58.426 [main] INFO c.a.otter.canal.instance.spring.CanalInstanceWithSpring - start CannalInstance for 1-product 2022-10-21 17:19:58.441 [main] WARN c.a.o.canal.parse.inbound.mysql.dbsync.LogEventConvert - --> init table filter : ^...$ 2022-10-21 17:19:58.441 [main] WARN c.a.o.canal.parse.inbound.mysql.dbsync.LogEventConvert - --> init table black filter : 2022-10-21 17:19:58.446 [main] INFO c.a.otter.canal.instance.core.AbstractCanalInstance - start successful.... 2022-10-21 17:19:58.502 [destination = product , address = xxxxxxxxxxxxxxxxxxxxxxxxxxpolardbxxxxxxxxxxxxxxx, EventParser] WARN c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ---> begin to find start position, it will be long time for reset or first position 2022-10-21 17:19:58.502 [destination = product , address = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx , EventParser] WARN c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - prepare to find start position mysql-bin.001237:49660885:null 2022-10-21 17:19:58.514 [destination = product , address = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx , EventParser] WARN c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ---> find start position successfully, EntryPosition[included=false,journalName=mysql-bin.001237,position=49660885,serverId=,gtid=,timestamp=] cost : 0ms , the next step is binlog dump 2022-10-21 17:20:00.076 [MultiStageCoprocessor-Parser-product-3] ERROR com.alibaba.otter.canal.common.utils.NamedThreadFactory - from MultiStageCoprocessor-Parser-product-3 com.alibaba.otter.canal.parse.exception.CanalParseException: com.alibaba.otter.canal.parse.exception.CanalParseException: com.alibaba.otter.canal.parse.exception.CanalParseException: parse row data failed. Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: com.alibaba.otter.canal.parse.exception.CanalParseException: parse row data failed. Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: parse row data failed. Caused by: java.lang.IllegalArgumentException: limit excceed: 80506 at com.taobao.tddl.dbsync.binlog.LogBuffer.fillBytes(LogBuffer.java:1557) ~[canal.parse.dbsync-1.1.6.jar:na] at com.taobao.tddl.dbsync.binlog.event.RowsLogBuffer.fetchValue(RowsLogBuffer.java:966) ~[canal.parse.dbsync-1.1.6.jar:na] at com.taobao.tddl.dbsync.binlog.event.RowsLogBuffer.nextValue(RowsLogBuffer.java:125) ~[canal.parse.dbsync-1.1.6.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert.parseOneRow(LogEventConvert.java:757) ~[canal.parse-1.1.6.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert.parseRowsEvent(LogEventConvert.java:568) ~[canal.parse-1.1.6.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.MysqlMultiStageCoprocessor$DmlParserStage.onEvent(MysqlMultiStageCoprocessor.java:341) ~[canal.parse-1.1.6.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.MysqlMultiStageCoprocessor$DmlParserStage.onEvent(MysqlMultiStageCoprocessor.java:327) ~[canal.parse-1.1.6.jar:na] at com.lmax.disruptor.WorkProcessor.run(WorkProcessor.java:143) ~[disruptor-3.4.2.jar:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_181] at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]

Just put your stack trace here!
agapple commented 1 year ago

Caused by: java.lang.IllegalArgumentException: limit excceed: 80506

有无法解析的binlog格式对象,可以先尝试1.1.7-alpha版本,解决过mysql 8.0的几个binlog协议变更问题