开发者社区 问答 正文

使用cannal-adapter时,动态新增RDB表映射文件时出现报错

环境信息

canal version 1.1.2 mysql version 5.6.37

问题描述

1、已有映射文件a如下

dataSourceKey: defaultDS destination: example outerAdapterKey: mysql1 concurrent: true dbMapping: database: miria table: tb_metric targetTable: miria.tb_metric targetPk: id: id mapAll: true

2、当我动态新增映射文件b时,出现以下报错 映射文件b:

dataSourceKey: defaultDS destination: example outerAdapterKey: mysql1 concurrent: true dbMapping: database: miria table: tb_monitor_chart targetTable: miria.tb_monitor_chart targetPk: id: id mapAll: true

3、报错信息

2019-01-03 10:04:55.888 ERROR 21274 --- [pool-9-thread-1] c.a.o.c.c.a.rdb.support.BatchExecutor : connection holder is null java.sql.SQLException: connection holder is null at com.alibaba.druid.pool.DruidPooledConnection.checkStateInternal(DruidPooledConnection.java:1155) ~[druid-1.1.9.jar:1.1.9] at com.alibaba.druid.pool.DruidPooledConnection.checkState(DruidPooledConnection.java:1148) ~[druid-1.1.9.jar:1.1.9] at com.alibaba.druid.pool.DruidPooledConnection.commit(DruidPooledConnection.java:743) ~[druid-1.1.9.jar:1.1.9] at com.alibaba.otter.canal.client.adapter.rdb.support.BatchExecutor.commit(BatchExecutor.java:71) ~[client-adapter.rdb-1.1.3-SNAPSHOT-jar-with-dependencies.jar:na] at com.alibaba.otter.canal.client.adapter.rdb.service.RdbSyncService.lambda$sync$1(RdbSyncService.java:107) [client-adapter.rdb-1.1.3-SNAPSHOT-jar-with-dependencies.jar:na] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_172] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_172] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_172] at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_172] Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure during commit(). Transaction resolution unknown. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_172] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_172] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_172] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_172] at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.Util.getInstance(Util.java:408) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.ConnectionImpl.commit(ConnectionImpl.java:1618) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.alibaba.druid.pool.DruidPooledConnection.commit(DruidPooledConnection.java:749) ~[druid-1.1.9.jar:1.1.9] ... 6 common frames omitted

  1. 重启adapter可正常使用

原提问者GitHub用户iamyeka

展开
收起
古拉古拉 2023-05-08 16:38:15 160 分享 版权
1 条回答
写回答
取消 提交回答
  • 升级使用最新代码试一下

    原回答者GitHub用户rewerma

    2023-05-09 18:14:36
    赞同 展开评论