开发者社区> 问答> 正文

mysql binlog_row_image=minimal canal客户端解析缺少主键

生产环境中我们用canal 将数据同步至kudu,自己实现了一个kudu-adapter mysql中更新一条记录binlog 如下:

beforeColumns { sqlType: -5 name: "id" isKey: true isNull: false value: "53423" mysqlType: "bigint(20)" } afterColumns { index: 19 sqlType: 3 name: "bat_vol" updated: true isNull: false value: "674" mysqlType: "decimal(4,2)" } afterColumns { index: 21 sqlType: 4 name: "battery_mileage" updated: true isNull: false value: "8786" mysqlType: "int(11)" } afterColumns { index: 24 sqlType: 3 name: "bat_capacity" updated: true isNull: false value: "8.61" mysqlType: "decimal(4,2)" } afterColumns { index: 34 sqlType: 93 name: "last_upload_time" updated: true isNull: false value: "2019-10-24 16:51:34" mysqlType: "datetime" } afterColumns { index: 36 sqlType: 93 name: "update_time" updated: true isNull: false value: "2019-10-24 16:51:37" mysqlType: "datetime" }

com.alibaba.otter.canal.client.adapter.support.MessageUtil#parse4Dml 将message解析成List的方法中,如上binlog 此方法不会把beforeColumns的信息存储至List中,导致更新kudu没有主键失败,是否可以改下该方法的逻辑,将beforeColumns的信息带到List中?非常感谢 wx struggle6682

原提问者GitHub用户qshaqima

展开
收起
Java工程师 2023-05-03 16:09:13 102 0
1 条回答
写回答
取消 提交回答
  • minimal的binlog格式决定的

    原回答者GitHub用户agapple

    2023-05-04 17:25:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像