开发者社区> 问答> 正文

seata 无法存储 branch XID

有时会报错

io.seata.core.exception.RmTransactionException: Response[ TransactionException[Failed to store branch xid = 192.168.111.211:8092:2040756175 branchId = 2040756185] ]
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '2040756185' for key 'PRIMARY'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.Util.getInstance(Util.java:384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4232)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4164)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2776)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2838)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2082)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2334)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2262)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2246)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:256)
at io.seata.core.store.db.LogStoreDataBaseDAO.insertBranchTransactionDO(LogStoreDataBaseDAO.java:348)
... 22 common frames omitted

展开
收起
一人吃饱,全家不饿 2021-02-02 11:32:14 5866 0
来自:阿里开源
1 条回答
写回答
取消 提交回答
  • 注意一下-n这个说明

    源码启动: 执行Server.java的main方法

    命令启动: seata-server.sh -h 127.0.0.1 -p 8091 -m db -n 1 -e test

    -h: 注册到注册中心的ip

    -p: Server rpc 监听端口

    -m: 全局事务会话信息存储模式,file、db,优先读取启动参数

    -n: Server node,多个Server时,需区分各自节点,用于生成不同区间的transactionId,以免冲突

    -e: 多环境配置参考 http://seata.io/en-us/docs/ops/multi-configuration-isolation.html

    2021-02-02 11:48:24
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
阿里巴巴相信开源的世界里人人贡献代码,人人获得收益,共同创造一个互帮互利的社区,促进技术进步和发展。
问答排行榜
最热
最新

相关电子书

更多
《Seata 1.3 新特性以及如何参与社区》 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载