Apache Curator锁定问题

时间:2017-03-15 15:31:32

标签: apache-zookeeper apache-curator

我有以下代码来获取分布式锁:

    public void foo(){
      try {

        if (!lock.acquire(5, TimeUnit.MINUTES)) {
            throw new RuntimeException("Could not acquire lock");
        }

        doWork();

      } finally {
        if (lock.isAcquiredInThisProcess()) {
          lock.release();
        }
      }
    }

我看到的问题是,有时会在zookeeper中创建锁定,但lock.acquire(..)调用正在返回false。所以看起来锁是创建的,但客户端并不知道它,这意味着所有对foo()的调用都被卡住了。

重新启动java服务可以解决问题。

我正在使用策展人2.11.0。

任何有想法可能出错的人?

0 个答案:

没有答案