开发者社区 > 云原生 > 中间件 > 正文

请问在全局事务过程中,结束了seata和应用的进程,重新启动seata和应用,回滚异常是什么原因?

请问在全局事务过程中,结束了seata和应用的进程,然后重新启动seata和应用,全局事务在超时回滚时一直报下面的异常,是不是因为应用的clientId对不上导致回滚不了?如果是,应该怎么指定这个clientId呢?

13:50:34.477 ERROR --- [     RetryRollbacking_1_1] io.seata.server.coordinator.DefaultCore  : Rollback branch transaction exception, xid = 192.168.0.127:8091:2513289719609716761 branchId = 2513289719609716763 exception = rm client is not connected. dbkey:jdbc:mysql://127.0.0.1:3306/order,clientId:api:127.0.0.1:42795
13:50:34.480  INFO --- [     RetryRollbacking_1_1] i.s.s.coordinator.DefaultCoordinator     : Failed to retry rollbacking [192.168.0.127:8091:2513289719609716761] Unknown java.lang.RuntimeException: rm client is not connected. dbkey:jdbc:mysql://127.0.0.1:3306/order,clientId:api:127.0.0.1:42795

展开
收起
哈喽!小陈 2022-07-11 14:43:09 1221 0
1 条回答
写回答
取消 提交回答
  • 应该是的,会按这个resource去拆开找channel的。url没变就可以的 ,重启后,如果还刷就有问题,如果重启后不刷就没问题,自己看下重启后rm有没有注册连接到tc,一部分懒加载的datasource会引起这个问题。此答案整理自钉钉群“3群-Seata 开源讨论群”

    2022-07-11 17:15:41
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
服务上云加速大家居产业C2M进程 立即下载
《Seata 1.3 新特性以及如何参与社区》 立即下载
低代码开发师(初级)实战教程 立即下载