【问题标题】:Curator mutex lock failed after reconnected重新连接后 Curator 互斥锁失败
【发布时间】:2017-05-17 12:06:59
【问题描述】:

场景:

使用 Curator 实现分布式互斥锁。 如果已经获取 mutex 的客户端由于网络故障与 zk 服务器断开连接,则 Curator 将尝试重新连接。假设最后重连成功,但是最后一个会话过期了,用于互斥锁的临时锁节点也消失了,那么这个互斥锁就不能再工作了!

那么在使用 Curator 时如何处理重新连接后互斥失败的问题?谢谢。

【问题讨论】:

    标签: java locking mutex apache-zookeeper apache-curator


    【解决方案1】:

    您应该阅读有关使用 Curator 处理错误的说明(注意:我是 Curator 的主要作者):http://curator.apache.org/errors.html 以及技术说明 12:https://cwiki.apache.org/confluence/display/CURATOR/TN12

    TL;DR 是,如果连接失败(挂起),您应该假设您的锁丢失并中断任何持有锁的线程。如果你非常小心,你可以等到连接丢失,但我的建议是始终假设 SUSPENDED 意味着你不再持有锁。

    【讨论】:

      猜你喜欢
      • 2017-11-21
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 1970-01-01
      • 2021-02-19
      • 1970-01-01
      相关资源
      最近更新 更多