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

Seata中 SelectForUpdateExecutor 可以先获取全局锁,再执行 sql吗?

Seata中这个 SelectForUpdateExecutor 可以先获取全局锁,再执行 sql语句不? 目前这个地方获取不到全局锁,会一直进行回滚事务 image.png

展开
收起
小黄鸭哈哈哈 2022-06-27 14:21:05 936 0
1 条回答
写回答
取消 提交回答
  • 需要释放本地锁,否则会阻塞其他正常的事务。 先抢本地锁再拿全局锁,这是分布式事务下的读已提交隔离级别,这个forupdate不是拿锁,是检查锁。 因为拿到本地锁,全局锁如果没有别的事务占有,就是分布式事务下读已提交了,at的其他事务拿不到本地锁不可能拿到全局锁的。

    此答案整理自钉钉群“3群-Seata 开源讨论群”

    2022-06-27 15:25:55
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:

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

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
《Seata 1.3 新特性以及如何参与社区》 立即下载