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

Seata中lock_key里的数据什么场景下会有脏数据呢?

Seata中lock_key里的数据什么场景下会有脏数据呢?(历史的没有被删掉) 比如seata服务被强杀?或者业务服务被强杀? 我们昨天遇到运维批量重启服务导致lock_key没有被正常清理,后续服务频繁get global lock失败进而产生了悬挂问题,怀疑是服务是被强杀的 而不是正常重启。兜底的目的是什么呢?认为这种无用的lock数据一直留着会影响正常业务是吗?是什么场景促使这么做呢?是社区提的需求嘛还是实际考虑到了这种情况呢?got it 除了强杀seata服务还有哪些场景会导致lock脏数据残留吗?

展开
收起
fuxixi 2022-10-17 13:04:57 394 0
1 条回答
写回答
取消 提交回答
  • 强杀有几率出现的,只要有lock没branch或对应的globalsession,放心删了,高版本1.5上会在2分10秒后兜底这种情况,这种无用lock会阻塞业务正常运转,需要兜底删除,以后不要强杀进程,file模式和未来的raft模式没有这种问题,断电,事务决议时还有分支正在注册,断电其实就是强杀一个道理的,二者概率都非常低。此答案整理自钉钉群“3群-Seata开源讨论群”

    2022-10-17 14:41:39
    赞同 展开评论 打赏

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

相关电子书

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