[ https://issues.apache.org/jira/browse/CURATOR-126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14076766#comment-14076766 ]
ASF GitHub Bot commented on CURATOR-126: ---------------------------------------- Github user Randgalt commented on a diff in the pull request: https://github.com/apache/curator/pull/23#discussion_r15488051 --- Diff: curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java --- @@ -74,7 +71,7 @@ private final NamespaceFacadeCache namespaceFacadeCache; private final NamespaceWatcherMap namespaceWatcherMap = new NamespaceWatcherMap(this); - private volatile ExecutorService executorService; + private volatile Thread backgroundThread; --- End diff -- I'm just concerned it's a larger problem. Executors are used throughout Curator and I've relied on shutdownNow to work correctly. I didn't know about the bug. So, I'd feel better having an open issue to deal with it directly. Curator already has the CloseableExecutorService wrapper and my gut feeling is that it can be fixed inside of there. > IllegalStateException in performBackgroundOperation during close > ---------------------------------------------------------------- > > Key: CURATOR-126 > URL: https://issues.apache.org/jira/browse/CURATOR-126 > Project: Apache Curator > Issue Type: Bug > Components: Framework > Affects Versions: 2.5.0 > Reporter: Scott Blum > Assignee: Cameron McKenzie > Original Estimate: 24h > Remaining Estimate: 24h > > {code} > [CuratorFramework-0] ERROR > org.apache.curator.framework.imps.CuratorFrameworkImpl - Background > exception was not retry-able or retry gave up > java.lang.IllegalStateException: Client is not started > at > com.google.common.base.Preconditions.checkState(Preconditions.java:176) > at > org.apache.curator.CuratorZookeeperClient.getZooKeeper(CuratorZookeeperClient.java:113) > at > org.apache.curator.framework.imps.CuratorFrameworkImpl.performBackgroundOperation(CuratorFrameworkImpl.java:807) > at > org.apache.curator.framework.imps.CuratorFrameworkImpl.backgroundOperationsLoop(CuratorFrameworkImpl.java:793) > at > org.apache.curator.framework.imps.CuratorFrameworkImpl.access$400(CuratorFrameworkImpl.java:57) > at > org.apache.curator.framework.imps.CuratorFrameworkImpl$4.call(CuratorFrameworkImpl.java:275) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:744) > {code} > I see this sometimes during test runs; I believe this happens because > CuratorZookeeperClient.started gets set to false during shutdown, but the > backgroundOperation loop can still be running since shutting down the > backgroundOperation loop is inherently racy. -- This message was sent by Atlassian JIRA (v6.2#6252)