有一个 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 872 发布于辽宁 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 不可能的,business-b压根提交不了sql,因为锁被a拿着,1.4.0和1.4.1有bug外,其余版本没这个问题。 按你这个流程,是a回滚完成或者a提交完成才会失败,b才有可能写入数据。

    2022-09-26 17:19:28 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论

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

收录在圈子:
+ 订阅
阿里云中间件主要有包含这么几个: 分布式关系型数据库DRDS_水平拆分 做数据库扩展性的 、消息队列MQ 是做消息的中间件、企业级分布式应用服务EDAS 做分布式服务的、还有一些其他的中间件,比如配置服务、缓存等等。
还有其他疑问?
咨询AI助理
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等