otter源码分析-(1)debug node源码
程序员文章站
2024-03-17 19:17:22
...
想解决一个源码的疑问,需要debug otter node模块。
开启同步任务后,local node 的 mainstem一直 显示:定位中,数据更改后,同步功能不可用。
bug信息如下
pid:8 nid:3 exception:canal:test_cancal_debug:java.lang.NullPointerException
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.loadBinlogChecksum(MysqlConnection.java:284)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:113)
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:209)
at java.lang.Thread.run(Thread.java:745)
这个问题是当前的1.0.23版本的canal有些问题,参考https://github.com/alibaba/otter/issues/258
我想了个办法: 关联local的canal源码,然后手工修复canal 的bug。
cannal源码链接如下
otter源码链接如下
第一步 修复源码bug
经过观察,原来是 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.loadBinlogChecksum 中
columnValues.get(0)没有判空,做如下修改
第二步 update otter main pom.xml
第三步 otter 全部模块 执行 maven update.
经本人验证,好用。
推荐阅读
-
otter源码分析-(1)debug node源码
-
Spark源码分析-1.集群架构介绍和SparkContext源码分析
-
Symfoy2源码分析——启动过程1,symfoy2源码_PHP教程
-
Nginx源码分析(1)之——共享内存的配置、分配及初始化
-
Symfoy2源码分析启动过程1,symfoy2源码
-
Symfoy2源码分析——启动过程1,symfoy2源码_PHP教程
-
Cocos2d-x学习笔记(17)(TestCpp源码分析-1)
-
quillJS 富文本编辑器源码分析系列1
-
Okhttp3源码解析(1)-OkHttpClient分析
-
Java基础之Collections框架Map接口实现类HashMap及其源码分析(1)