zoukankan      html  css  js  c++  java
  • otter源码分析-(1)debug node源码

    想解决一个源码的疑问,需要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源码链接如下
    https://github.com/alibaba/canal
    otter源码链接如下
    https://github.com/alibaba/otter
     
    第一步 修复源码bug
    经过观察,原来是 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.loadBinlogChecksum 中
    columnValues.get(0)没有判空,做如下修改

     
    第二步 update otter main pom.xml

    第三步 otter 全部模块 执行 maven update.
     
    经本人验证,好用。


    ————————————————
    版权声明:本文为CSDN博主「iteye_9644」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/iteye_9644/article/details/82679450

  • 相关阅读:
    java的异常
    Quartz使用总结
    MYSQL性能优化的最佳20+条经验
    索引原理和慢查询优化
    MySQL索引背后的数据结构及算法原理
    常见电商项目的数据库表设计(MySQL版)
    常见试题和算法
    mysql性能调优与架构设计笔记
    MYSQL数据库设计规范与原则
    复合索引的优点和注意事项
  • 原文地址:https://www.cnblogs.com/softidea/p/12768484.html
Copyright © 2011-2022 走看看