美文网首页
失效的分布式锁解锁

失效的分布式锁解锁

作者: Lupino | 来源:发表于2021-09-08 23:22 被阅读0次

    为了解决保证不出现死锁,每个分布式锁都有一个超时时间,解锁由一个 task 来执行。

    最近发现无法解锁,也就是解锁task挂了,pending 了。

    我们调试发现到查询 PostgreSQL 数据库的时候 pending 了,就在哪里停住了。

    我们调试了非常的久,打印了些日志。

    发现print count 会pending。

    最后我们找到了问题所在,我们使用了不安全的 maximum 函数。

    由于 haskell 是惰性语言,所以在在执行出没有挂,在 使用的时候挂了。

    maximum [] 会使得task直接挂掉,进而没有执行。

    我们只要简单的修复一下,问题便解决了。

    相关文章

      网友评论

          本文标题:失效的分布式锁解锁

          本文链接:https://www.haomeiwen.com/subject/qhibwltx.html