开发者社区> 问答> 正文

1.1.6版本的canal-server docker镜像不是从1.1.6版本打包出来的

今天尝试升级1.1.6版本,使用了1.1.6版本的canal-server docker 镜像, 发现了一个报错

DatabaseTableMeta类报错了, 有个奇怪的表BASE TABLE,调试代码的时候发现和1.1.6分支的代码对不上,把镜像里的 jar 包反编译,发现DatabaseTableMeta类的代码是1.1.6分支以后的代码

2022-06-11 15:51:23.648 [destination = canalEventForCanalSync , address = mysql/172.24.0.3:3306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:canalEventForCanalSync[com.alibaba.otter.canal.parse.exception.CanalParseException: java.io.IOException: ErrorPacket [errorNumber=1146, fieldCount=-1, message=Table 'canal-sync.BASE TABLE' doesn't exist, sqlState=42S02, sqlStateMarker=#] with command: show create table canal-sync.canal_sync_config;show create table canal-sync.BASE TABLE; Caused by: java.io.IOException: ErrorPacket [errorNumber=1146, fieldCount=-1, message=Table 'canal-sync.BASE TABLE' doesn't exist, sqlState=42S02, sqlStateMarker=#] with command: show create table canal-sync.canal_sync_config;show create table canal-sync.BASE TABLE; at com.alibaba.otter.canal.parse.driver.mysql.MysqlQueryExecutor.queryMulti(MysqlQueryExecutor.java:109) at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.queryMulti(MysqlConnection.java:111) at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.DatabaseTableMeta.dumpTableMeta(DatabaseTableMeta.java:233) at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.DatabaseTableMeta.rollback(DatabaseTableMeta.java:174) at com.alibaba.otter.canal.parse.inbound.mysql.AbstractMysqlEventParser.processTableMeta(AbstractMysqlEventParser.java:142) at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:197) at java.lang.Thread.run(Thread.java:748)

原提问者GitHub用户jimmy384

展开
收起
后端老大 2023-04-26 09:57:38 181 0
1 条回答
写回答
取消 提交回答
  • 参考这个:https://github.com/alibaba/canal/tree/canal-1.1.6-hotfix-1

    原回答者GitHub用户agapple

    2023-04-26 18:19:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
应用 Docker 进行持续交付:用技术改变交付路程 立即下载
从Docker到容器服务 立即下载
Docker@Alibaba——超大规模Docker化的实战经验 立即下载