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

有一个 Seata 使用 AT 模式全局锁的问题请教一下,全局锁是在全局事务提交后才会释放吗?

有一个 Seata 使用 AT 模式全局锁的问题请教一下,测试代码如下: lALPJvuS1V8o56_NAkPNA5o_922_579.png 优先调用 business-a 接口,然后调用 business-b 接口。结果是 business-a 接口无法回滚。因为数据已经被 business-b 改动了。 全局锁在执行 sql 的时候针对这次 sql 操作加,且执行后就释放掉。那么其他业务更改数据后原来的全局事务如何处理回滚问题呢? 全局锁是在全局事务提交后才会释放吗?

展开
收起
fuxixi 2022-09-26 16:30:39 856 0
1 条回答
写回答
取消 提交回答
  • 不可能的,business-b压根提交不了sql,因为锁被a拿着,1.4.0和1.4.1有bug外,其余版本没这个问题。 按你这个流程,是a回滚完成或者a提交完成才会失败,b才有可能写入数据。

    2022-09-26 17:19:28
    赞同 展开评论 打赏

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

相关电子书

更多
《Seata 1.3 新特性以及如何参与社区》 立即下载
事务、全局索引、透明分布式 立即下载
低代码开发师(初级)实战教程 立即下载