版本信息:
- canal 版本:canal.deployer-1.1.7.tar.gz
- mysql 版本:percona xtradb cluster 8.0.33-25
问题描述:
无法正确解析binglog,Decoding Query的时候报错java.io.IOException: Read Q_HRNOW error: limit excceed: 65
希官方对该版本的binlog兼容,谢谢啦!
补充说明:canal.deployer-1.1.7.tar.gz + pxc 8.0.30-22 相同配置可以正常解析binlog
详细报错信息
2023-11-08 08:34:16.753 [destination = cms , address = /192.168.199.11:33066 , EventParser] WARN com.taobao.tddl.dbsync.binlog.LogDecoder - Decoding Query failed from: bin-log.003032:4
java.io.IOException: Read Q_HRNOW error: limit excceed: 65
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.unpackVariables(QueryLogEvent.java:750)
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.(QueryLogEvent.java:499)
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.(QueryLogEvent.java:442)
at com.taobao.tddl.dbsync.binlog.LogDecoder.decode(LogDecoder.java:196)
at com.taobao.tddl.dbsync.binlog.LogDecoder.decode(LogDecoder.java:82)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.seek(MysqlConnection.java:153)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findAsPerTimestampInSpecificLogFile(MysqlEventParser.java:775)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findByStartTimeStamp(MysqlEventParser.java:600)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPositionInternal(MysqlEventParser.java:522)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPosition(MysqlEventParser.java:360)
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:186)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.IllegalArgumentException: limit excceed: 65
at com.taobao.tddl.dbsync.binlog.LogBuffer.forward(LogBuffer.java:130)
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.unpackVariables(QueryLogEvent.java:718)
... 11 common frames omitted
2023-11-08 08:34:16.753 [destination = cms , address = /192.168.199.11:33066 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ERROR ## findAsPerTimestampInSpecificLogFile has an error
java.io.IOException: Read Q_HRNOW error: limit excceed: 65
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.unpackVariables(QueryLogEvent.java:750)
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.(QueryLogEvent.java:499)
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.(QueryLogEvent.java:442)
at com.taobao.tddl.dbsync.binlog.LogDecoder.decode(LogDecoder.java:196)
at com.taobao.tddl.dbsync.binlog.LogDecoder.decode(LogDecoder.java:82)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.seek(MysqlConnection.java:153)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findAsPerTimestampInSpecificLogFile(MysqlEventParser.java:775)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findByStartTimeStamp(MysqlEventParser.java:600)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPositionInternal(MysqlEventParser.java:522)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPosition(MysqlEventParser.java:360)
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:186)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.IllegalArgumentException: limit excceed: 65
at com.taobao.tddl.dbsync.binlog.LogBuffer.forward(LogBuffer.java:130)
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.unpackVariables(QueryLogEvent.java:718)
... 11 common frames omitted