有一个 Seata 使用 AT 模式全局锁的问题请教一下,测试代码如下: 优先调用 business-a 接口,然后调用 business-b 接口。结果是 business-a 接口无法回滚。因为数据已经被 business-b 改动了。 全局锁在执行 sql 的时候针对这次 sql 操作加,且执行后就释放掉。那么其他业务更改数据后原来的全局事务如何处理回滚问题呢? 全局锁是在全局事务提交后才会释放吗?
不可能的,business-b压根提交不了sql,因为锁被a拿着,1.4.0和1.4.1有bug外,其余版本没这个问题。 按你这个流程,是a回滚完成或者a提交完成才会失败,b才有可能写入数据。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。