开发者社区 > 云原生 > 正文

有没有遇到这样的Seata 问题,tc端报重复插入了,实际 程序只是执行了一次 插入?09:20:4

有没有遇到这样的Seata 问题,tc端报重复插入了,实际 程序只是执行了一次 插入?09:20:48.765 ERROR --- [verHandlerThread_1_14_500] i.s.s.s.db.lock.LockStoreDataBaseDAO : Global lock batch acquire error: Duplicate entry 'jdbc:mysql://localhost:3306/form^^^form_sql_log^^^17730' for key 'PRIMARY' ==> java.sql.BatchUpdateException: Duplicate entry 'jdbc:mysql://localhost:3306/form^^^form_sql_log^^^17730' for key 'PRIMARY' at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.mysql.cj.util.Util.handleNewInstance(Util.java:192)

展开
收起
真的很搞笑 2023-04-25 11:34:58 135 0
1 条回答
写回答
取消 提交回答
  • 您好,我了解到您遇到了Seata重复插入的问题。这可能是由于Seata在执行分布式事务时,由于网络延迟或其他原因导致事务协调失败,导致TC端认为事务已经提交,但实际上并没有提交。

    为了解决这个问题,您可以尝试以下方法:

    检查Seata的配置,确保TC端和RM端之间的网络连接稳定。
    尝试使用Seata的异步提交模式,以提高事务提交的效率。
    尝试使用Seata的XA模式,以确保事务的原子性和一致性。
    如果您仍然遇到这个问题,请随时与我联系。

    2024-02-28 18:04:38
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

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