apache / incubator-seata

:fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.
https://seata.apache.org/
Apache License 2.0
25.29k stars 8.78k forks source link

@GlobalTransactional 第一次commit成功后,再调用这个接口,就报错 #2865

Open seedtwj opened 4 years ago

seedtwj commented 4 years ago

三个服务 A->B->C 都加了@GlobalTransactional 业务逻辑均正常 第一次执行,能够正常commit 第二次开始,就提示错误 如果都不加@GlobalTransactional,三个服务写表均正常,无论提交次数多少 这是第一次执行成功后,三个服务的截图 image image image seata server 日志截图 image

================================================================================== 第二次执行开始,在A服务就报错的截图 image image

这是A服务SQL的截图 image

这是seata server 日志截图 image

================================================================================== 三个服务的seata client配置yml截图 image

使用到的组件 seata server 1.2.0 image

nacos 1.2.1 image

mybatis-plus 3.3.2 image

openfeign+okhttp image

druid 1.1.16 image

数据库 oracle 18c ojdbc8 image

spring-cloud Hoxton.SR3 spring-cloud-alibaba 2.2.1.RELEASE spring-boot 2.2.5.RELEASE spring-cloud-alibaba-seata 2.2.0.RELEASE

容器 undertow

funky-eyes commented 4 years ago

升级一下oracle的驱动版本到最新版,还有druid试试

seedtwj commented 4 years ago

升级一下oracle的驱动版本到最新版,还有druid试试

ojdbc8 19.3.0.0 durid-spring-boot 1.1.17 都是最新的,依然是同样的错误

感觉应该跟这2个无关,否则第一次执行就不可能成功

seedtwj commented 4 years ago

我只启动一个服务,把调用其他接口的feign注释掉 只是在serviceImpl的方法里面加@GlobalTransactional 也是同样的问题。

nikorliu commented 4 years ago

不能每个都加@GlobalTransactional

yunyun22 commented 4 years ago

遇到了相同的问题!!!

liqingxue commented 2 years ago

遇到了相同的问题,请问这个问题解决了吗?

Jzq commented 2 years ago

请问这个问题解决了吗