You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "Corey J. Nolet (JIRA)" <ji...@apache.org> on 2014/07/16 05:20:04 UTC

[jira] [Created] (CURATOR-121) PathChildrenCache is throwing an InterruptedException when being closed

Corey J. Nolet created CURATOR-121:
--------------------------------------

             Summary: PathChildrenCache is throwing an InterruptedException when being closed
                 Key: CURATOR-121
                 URL: https://issues.apache.org/jira/browse/CURATOR-121
             Project: Apache Curator
          Issue Type: Bug
          Components: Recipes
    Affects Versions: 2.6.0, 2.5.0
            Reporter: Corey J. Nolet
            Priority: Critical


I have a server which is using the PathChildrenCache with the LeaderSelector so that I can keep track of changes in leadership for a particular znode. Upon closing the PathChildrenCache, I intermittently receive an InterruptedException like the following:

{code}
java.lang.InterruptedException

at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1038)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1326)

at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:282)

at org.apache.curator.CuratorZookeeperClient.internalBlockUntilConnectedOrTimedOut(CuratorZookeeperClient.java:324)

at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:105)

at org.apache.curator.utils.EnsurePath$InitialHelper.ensure(EnsurePath.java:140)

at org.apache.curator.utils.EnsurePath.ensure(EnsurePath.java:99)

at org.apache.curator.framework.recipes.cache.PathChildrenCache.refresh(PathChildrenCache.java:481)

at org.apache.curator.framework.recipes.cache.RefreshOperation.invoke(RefreshOperation.java:35)

at org.apache.curator.framework.recipes.cache.PathChildrenCache$10.run(PathChildrenCache.java:762)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)

at java.util.concurrent.FutureTask.run(FutureTask.java:166)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)

at java.util.concurrent.FutureTask.run(FutureTask.java:166)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:724)

{code}

It doesn't happen all the time but it does happen about 2-3 times in a test suite that's creating and stopping the server about 60 times total.

Jordan Zimmerman mentioned on the mailing list that this may be a bug in the framework.





--
This message was sent by Atlassian JIRA
(v6.2#6252)