You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by ra...@apache.org on 2015/10/10 23:52:00 UTC
[1/6] curator git commit: make git tag HEAD
Repository: curator
Updated Branches:
refs/heads/CURATOR-3.0 779ff5ea4 -> ff3fbd759
make git tag HEAD
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/198179ca
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/198179ca
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/198179ca
Branch: refs/heads/CURATOR-3.0
Commit: 198179ca8e6b08c49d786896b9d7fb83c3b78608
Parents: 779ff5e
Author: randgalt <ra...@apache.org>
Authored: Fri Oct 9 09:49:05 2015 -0500
Committer: randgalt <ra...@apache.org>
Committed: Fri Oct 9 09:49:05 2015 -0500
----------------------------------------------------------------------
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/198179ca/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 0047d96..7e8728a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -95,7 +95,7 @@
<connection>scm:git:https://git-wip-us.apache.org/repos/asf/curator.git</connection>
<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/curator.git
</developerConnection>
- <tag>apache-curator-2.8.0</tag>
+ <tag>HEAD</tag>
</scm>
<issueManagement>
[2/6] curator git commit: remove calls to deprecated
client.clearWatcherReferences()
Posted by ra...@apache.org.
remove calls to deprecated client.clearWatcherReferences()
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/967faf12
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/967faf12
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/967faf12
Branch: refs/heads/CURATOR-3.0
Commit: 967faf123243b052ea01762ad55ace61ab39d15c
Parents: 198179c
Author: randgalt <ra...@apache.org>
Authored: Sat Oct 10 15:15:27 2015 -0500
Committer: randgalt <ra...@apache.org>
Committed: Sat Oct 10 15:15:27 2015 -0500
----------------------------------------------------------------------
.../java/org/apache/curator/framework/recipes/cache/NodeCache.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/967faf12/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/NodeCache.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/NodeCache.java b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/NodeCache.java
index 8b70db1..2bc62ed 100644
--- a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/NodeCache.java
+++ b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/NodeCache.java
@@ -181,7 +181,6 @@ public class NodeCache implements Closeable
{
client.removeWatchers();
listeners.clear();
- client.clearWatcherReferences(watcher);
client.getConnectionStateListenable().removeListener(connectionStateListener);
// TODO
[3/6] curator git commit: Trying to make tests more reliable
Posted by ra...@apache.org.
Trying to make tests more reliable
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/b25a8a35
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/b25a8a35
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/b25a8a35
Branch: refs/heads/CURATOR-3.0
Commit: b25a8a35856abf9710d42fae0a7324fbe66c362d
Parents: 967faf1
Author: randgalt <ra...@apache.org>
Authored: Sat Oct 10 15:15:50 2015 -0500
Committer: randgalt <ra...@apache.org>
Committed: Sat Oct 10 15:15:50 2015 -0500
----------------------------------------------------------------------
.../recipes/cache/PathChildrenCache.java | 6 +-
.../framework/recipes/cache/TreeCache.java | 21 +-
.../recipes/cache/TestPathChildrenCache.java | 432 +++++++++----------
3 files changed, 220 insertions(+), 239 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/b25a8a35/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/PathChildrenCache.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/PathChildrenCache.java b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/PathChildrenCache.java
index 99a652d..e4e18d9 100644
--- a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/PathChildrenCache.java
+++ b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/PathChildrenCache.java
@@ -315,7 +315,7 @@ public class PathChildrenCache implements Closeable
*/
public void rebuild() throws Exception
{
- Preconditions.checkState(!executorService.isShutdown(), "cache has been closed");
+ Preconditions.checkState(state.get() == State.STARTED, "cache has been closed");
ensurePath();
@@ -347,7 +347,7 @@ public class PathChildrenCache implements Closeable
public void rebuildNode(String fullPath) throws Exception
{
Preconditions.checkArgument(ZKPaths.getPathAndNode(fullPath).getPath().equals(path), "Node is not part of this cache: " + fullPath);
- Preconditions.checkState(!executorService.isShutdown(), "cache has been closed");
+ Preconditions.checkState(state.get() == State.STARTED, "cache has been closed");
ensurePath();
internalRebuildNode(fullPath);
@@ -370,8 +370,6 @@ public class PathChildrenCache implements Closeable
client.getConnectionStateListenable().removeListener(connectionStateListener);
listeners.clear();
executorService.close();
- client.clearWatcherReferences(childrenWatcher);
- client.clearWatcherReferences(dataWatcher);
client.removeWatchers();
// TODO
http://git-wip-us.apache.org/repos/asf/curator/blob/b25a8a35/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/TreeCache.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/TreeCache.java b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/TreeCache.java
index bda00bf..8030e8b 100644
--- a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/TreeCache.java
+++ b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/TreeCache.java
@@ -248,18 +248,24 @@ public class TreeCache implements Closeable
private void doRefreshChildren() throws Exception
{
- client.getChildren().usingWatcher(this).inBackground(this).forPath(path);
+ if ( treeState.get() == TreeState.STARTED )
+ {
+ client.getChildren().usingWatcher(this).inBackground(this).forPath(path);
+ }
}
private void doRefreshData() throws Exception
{
- if ( dataIsCompressed )
- {
- client.getData().decompressed().usingWatcher(this).inBackground(this).forPath(path);
- }
- else
+ if ( treeState.get() == TreeState.STARTED )
{
- client.getData().usingWatcher(this).inBackground(this).forPath(path);
+ if ( dataIsCompressed )
+ {
+ client.getData().decompressed().usingWatcher(this).inBackground(this).forPath(path);
+ }
+ else
+ {
+ client.getData().usingWatcher(this).inBackground(this).forPath(path);
+ }
}
}
@@ -285,7 +291,6 @@ public class TreeCache implements Closeable
{
stat.set(null);
data.set(null);
- client.clearWatcherReferences(this);
ConcurrentMap<String, TreeNode> childMap = children.getAndSet(null);
if ( childMap != null )
{
http://git-wip-us.apache.org/repos/asf/curator/blob/b25a8a35/curator-recipes/src/test/java/org/apache/curator/framework/recipes/cache/TestPathChildrenCache.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/cache/TestPathChildrenCache.java b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/cache/TestPathChildrenCache.java
index 3571ca7..a4e2b2e 100644
--- a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/cache/TestPathChildrenCache.java
+++ b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/cache/TestPathChildrenCache.java
@@ -18,15 +18,9 @@
*/
package org.apache.curator.framework.recipes.cache;
-import com.google.common.base.Function;
-import com.google.common.base.Joiner;
-import com.google.common.collect.Collections2;
import com.google.common.collect.Lists;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
-import org.apache.curator.framework.api.BackgroundCallback;
-import org.apache.curator.framework.api.CuratorEvent;
-import org.apache.curator.framework.api.Pathable;
import org.apache.curator.framework.api.UnhandledErrorListener;
import org.apache.curator.framework.imps.TestCleanState;
import org.apache.curator.retry.RetryOneTime;
@@ -35,31 +29,12 @@ import org.apache.curator.test.ExecuteCalledWatchingExecutorService;
import org.apache.curator.test.KillSession;
import org.apache.curator.test.Timing;
import org.apache.curator.utils.CloseableUtils;
-import org.apache.log4j.Appender;
-import org.apache.log4j.AppenderSkeleton;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.SimpleLayout;
-import org.apache.log4j.spi.LoggingEvent;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.testng.Assert;
import org.testng.annotations.Test;
-
-import java.util.Collection;
import java.util.List;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.Callable;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.Exchanger;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
+import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
@@ -348,48 +323,48 @@ public class TestPathChildrenCache extends BaseClassForTests
final CountDownLatch removedLatch = new CountDownLatch(1);
final CountDownLatch postRemovedLatch = new CountDownLatch(1);
final CountDownLatch dataLatch = new CountDownLatch(1);
- PathChildrenCache cache = new PathChildrenCache(client, "/test", true);
- cache.getListenable().addListener
- (
- new PathChildrenCacheListener()
- {
- @Override
- public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception
+ try ( PathChildrenCache cache = new PathChildrenCache(client, "/test", true) )
+ {
+ cache.getListenable().addListener
+ (
+ new PathChildrenCacheListener()
{
- if ( event.getType() == PathChildrenCacheEvent.Type.CHILD_REMOVED )
- {
- removedLatch.countDown();
- Assert.assertTrue(postRemovedLatch.await(10, TimeUnit.SECONDS));
- }
- else
+ @Override
+ public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception
{
- try
+ if ( event.getType() == PathChildrenCacheEvent.Type.CHILD_REMOVED )
{
- Assert.assertEquals(event.getData().getData(), "two".getBytes());
+ removedLatch.countDown();
+ Assert.assertTrue(postRemovedLatch.await(10, TimeUnit.SECONDS));
}
- finally
+ else
{
- dataLatch.countDown();
+ try
+ {
+ Assert.assertEquals(event.getData().getData(), "two".getBytes());
+ }
+ finally
+ {
+ dataLatch.countDown();
+ }
}
}
}
- }
- );
- cache.start(PathChildrenCache.StartMode.BUILD_INITIAL_CACHE);
+ );
+ cache.start(PathChildrenCache.StartMode.BUILD_INITIAL_CACHE);
- client.delete().forPath("/test/foo");
- Assert.assertTrue(timing.awaitLatch(removedLatch));
- client.create().forPath("/test/foo", "two".getBytes());
- postRemovedLatch.countDown();
- Assert.assertTrue(timing.awaitLatch(dataLatch));
+ client.delete().forPath("/test/foo");
+ Assert.assertTrue(timing.awaitLatch(removedLatch));
+ client.create().forPath("/test/foo", "two".getBytes());
+ postRemovedLatch.countDown();
+ Assert.assertTrue(timing.awaitLatch(dataLatch));
- Throwable t = error.get();
- if ( t != null )
- {
- Assert.fail("Assert", t);
+ Throwable t = error.get();
+ if ( t != null )
+ {
+ Assert.fail("Assert", t);
+ }
}
-
- cache.close();
}
finally
{
@@ -411,79 +386,79 @@ public class TestPathChildrenCache extends BaseClassForTests
client.create().forPath("/test/snafu", "original".getBytes());
final CountDownLatch addedLatch = new CountDownLatch(2);
- final PathChildrenCache cache = new PathChildrenCache(client, "/test", true);
- cache.getListenable().addListener
- (
- new PathChildrenCacheListener()
- {
- @Override
- public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception
+ try ( final PathChildrenCache cache = new PathChildrenCache(client, "/test", true) )
+ {
+ cache.getListenable().addListener
+ (
+ new PathChildrenCacheListener()
{
- if ( event.getType() == PathChildrenCacheEvent.Type.CHILD_ADDED )
+ @Override
+ public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception
{
- if ( event.getData().getPath().equals("/test/test") )
+ if ( event.getType() == PathChildrenCacheEvent.Type.CHILD_ADDED )
{
- addedLatch.countDown();
+ if ( event.getData().getPath().equals("/test/test") )
+ {
+ addedLatch.countDown();
+ }
}
- }
- else if ( event.getType() == PathChildrenCacheEvent.Type.CHILD_UPDATED )
- {
- if ( event.getData().getPath().equals("/test/snafu") )
+ else if ( event.getType() == PathChildrenCacheEvent.Type.CHILD_UPDATED )
{
- addedLatch.countDown();
+ if ( event.getData().getPath().equals("/test/snafu") )
+ {
+ addedLatch.countDown();
+ }
}
}
}
- }
- );
- cache.rebuildTestExchanger = new Exchanger<Object>();
- ExecutorService service = Executors.newSingleThreadExecutor();
- final AtomicReference<String> deletedPath = new AtomicReference<String>();
- Future<Object> future = service.submit
- (
- new Callable<Object>()
- {
- @Override
- public Object call() throws Exception
+ );
+ cache.rebuildTestExchanger = new Exchanger<Object>();
+ ExecutorService service = Executors.newSingleThreadExecutor();
+ final AtomicReference<String> deletedPath = new AtomicReference<String>();
+ Future<Object> future = service.submit
+ (
+ new Callable<Object>()
{
- cache.rebuildTestExchanger.exchange(new Object());
+ @Override
+ public Object call() throws Exception
+ {
+ cache.rebuildTestExchanger.exchange(new Object());
- // simulate another process adding a node while we're rebuilding
- client.create().forPath("/test/test");
+ // simulate another process adding a node while we're rebuilding
+ client.create().forPath("/test/test");
- List<ChildData> currentData = cache.getCurrentData();
- Assert.assertTrue(currentData.size() > 0);
+ List<ChildData> currentData = cache.getCurrentData();
+ Assert.assertTrue(currentData.size() > 0);
- // simulate another process removing a node while we're rebuilding
- client.delete().forPath(currentData.get(0).getPath());
- deletedPath.set(currentData.get(0).getPath());
+ // simulate another process removing a node while we're rebuilding
+ client.delete().forPath(currentData.get(0).getPath());
+ deletedPath.set(currentData.get(0).getPath());
- cache.rebuildTestExchanger.exchange(new Object());
+ cache.rebuildTestExchanger.exchange(new Object());
- ChildData childData = null;
- while ( childData == null )
- {
- childData = cache.getCurrentData("/test/snafu");
- Thread.sleep(1000);
- }
- Assert.assertEquals(childData.getData(), "original".getBytes());
- client.setData().forPath("/test/snafu", "grilled".getBytes());
+ ChildData childData = null;
+ while ( childData == null )
+ {
+ childData = cache.getCurrentData("/test/snafu");
+ Thread.sleep(1000);
+ }
+ Assert.assertEquals(childData.getData(), "original".getBytes());
+ client.setData().forPath("/test/snafu", "grilled".getBytes());
- cache.rebuildTestExchanger.exchange(new Object());
+ cache.rebuildTestExchanger.exchange(new Object());
- return null;
+ return null;
+ }
}
- }
- );
- cache.start(PathChildrenCache.StartMode.BUILD_INITIAL_CACHE);
- future.get();
-
- Assert.assertTrue(timing.awaitLatch(addedLatch));
- Assert.assertNotNull(cache.getCurrentData("/test/test"));
- Assert.assertNull(cache.getCurrentData(deletedPath.get()));
- Assert.assertEquals(cache.getCurrentData("/test/snafu").getData(), "grilled".getBytes());
+ );
+ cache.start(PathChildrenCache.StartMode.BUILD_INITIAL_CACHE);
+ future.get();
- cache.close();
+ Assert.assertTrue(timing.awaitLatch(addedLatch));
+ Assert.assertNotNull(cache.getCurrentData("/test/test"));
+ Assert.assertNull(cache.getCurrentData(deletedPath.get()));
+ Assert.assertEquals(cache.getCurrentData("/test/snafu").getData(), "grilled".getBytes());
+ }
}
finally
{
@@ -653,7 +628,7 @@ public class TestPathChildrenCache extends BaseClassForTests
client.create().withMode(CreateMode.EPHEMERAL).forPath("/test/me", "data".getBytes());
Assert.assertTrue(timing.awaitLatch(childAddedLatch));
- KillSession.kill(client.getZookeeperClient().getZooKeeper(), server.getConnectString());
+ KillSession.kill(client.getZookeeperClient().getZooKeeper());
Assert.assertTrue(timing.awaitLatch(lostLatch));
Assert.assertTrue(timing.awaitLatch(reconnectedLatch));
Assert.assertTrue(timing.awaitLatch(removedLatch));
@@ -695,9 +670,9 @@ public class TestPathChildrenCache extends BaseClassForTests
Timing timing = new Timing();
PathChildrenCache cache = null;
CuratorFramework client = CuratorFrameworkFactory.newClient(server.getConnectString(), timing.session(), timing.connection(), new RetryOneTime(1));
- client.start();
try
{
+ client.start();
client.create().creatingParentsIfNeeded().forPath("/test/one", "one".getBytes());
final CountDownLatch latch = new CountDownLatch(1);
@@ -716,7 +691,7 @@ public class TestPathChildrenCache extends BaseClassForTests
};
cache.start(PathChildrenCache.StartMode.BUILD_INITIAL_CACHE);
- latch.await();
+ Assert.assertTrue(timing.awaitLatch(latch));
int saveCounter = counter.get();
client.setData().forPath("/test/one", "alt".getBytes());
@@ -725,6 +700,7 @@ public class TestPathChildrenCache extends BaseClassForTests
Assert.assertEquals(saveCounter, counter.get());
semaphore.release(1000);
+ timing.sleepABit();
}
finally
{
@@ -735,44 +711,43 @@ public class TestPathChildrenCache extends BaseClassForTests
private void internalTestMode(CuratorFramework client, boolean cacheData) throws Exception
{
- PathChildrenCache cache = new PathChildrenCache(client, "/test", cacheData);
-
- final CountDownLatch latch = new CountDownLatch(2);
- cache.getListenable().addListener
- (
- new PathChildrenCacheListener()
- {
- @Override
- public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception
+ try ( PathChildrenCache cache = new PathChildrenCache(client, "/test", cacheData) )
+ {
+ final CountDownLatch latch = new CountDownLatch(2);
+ cache.getListenable().addListener
+ (
+ new PathChildrenCacheListener()
{
- if ( event.getType() == PathChildrenCacheEvent.Type.CHILD_ADDED )
+ @Override
+ public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception
{
- latch.countDown();
+ if ( event.getType() == PathChildrenCacheEvent.Type.CHILD_ADDED )
+ {
+ latch.countDown();
+ }
}
}
- }
- );
- cache.start();
+ );
+ cache.start();
- client.create().forPath("/test/one", "one".getBytes());
- client.create().forPath("/test/two", "two".getBytes());
- Assert.assertTrue(latch.await(10, TimeUnit.SECONDS));
+ client.create().forPath("/test/one", "one".getBytes());
+ client.create().forPath("/test/two", "two".getBytes());
+ Assert.assertTrue(latch.await(10, TimeUnit.SECONDS));
- for ( ChildData data : cache.getCurrentData() )
- {
- if ( cacheData )
- {
- Assert.assertNotNull(data.getData());
- Assert.assertNotNull(data.getStat());
- }
- else
+ for ( ChildData data : cache.getCurrentData() )
{
- Assert.assertNull(data.getData());
- Assert.assertNotNull(data.getStat());
+ if ( cacheData )
+ {
+ Assert.assertNotNull(data.getData());
+ Assert.assertNotNull(data.getStat());
+ }
+ else
+ {
+ Assert.assertNull(data.getData());
+ Assert.assertNotNull(data.getStat());
+ }
}
}
-
- cache.close();
}
@Test
@@ -786,34 +761,34 @@ public class TestPathChildrenCache extends BaseClassForTests
client.create().forPath("/test");
final BlockingQueue<PathChildrenCacheEvent.Type> events = new LinkedBlockingQueue<PathChildrenCacheEvent.Type>();
- PathChildrenCache cache = new PathChildrenCache(client, "/test", true);
- cache.getListenable().addListener
- (
- new PathChildrenCacheListener()
- {
- @Override
- public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception
+ try ( PathChildrenCache cache = new PathChildrenCache(client, "/test", true) )
+ {
+ cache.getListenable().addListener
+ (
+ new PathChildrenCacheListener()
{
- if ( event.getData().getPath().equals("/test/one") )
+ @Override
+ public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception
{
- events.offer(event.getType());
+ if ( event.getData().getPath().equals("/test/one") )
+ {
+ events.offer(event.getType());
+ }
}
}
- }
- );
- cache.start();
-
- client.create().forPath("/test/one", "hey there".getBytes());
- Assert.assertEquals(events.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_ADDED);
+ );
+ cache.start();
- client.setData().forPath("/test/one", "sup!".getBytes());
- Assert.assertEquals(events.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_UPDATED);
- Assert.assertEquals(new String(cache.getCurrentData("/test/one").getData()), "sup!");
+ client.create().forPath("/test/one", "hey there".getBytes());
+ Assert.assertEquals(events.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_ADDED);
- client.delete().forPath("/test/one");
- Assert.assertEquals(events.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_REMOVED);
+ client.setData().forPath("/test/one", "sup!".getBytes());
+ Assert.assertEquals(events.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_UPDATED);
+ Assert.assertEquals(new String(cache.getCurrentData("/test/one").getData()), "sup!");
- cache.close();
+ client.delete().forPath("/test/one");
+ Assert.assertEquals(events.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_REMOVED);
+ }
}
finally
{
@@ -833,56 +808,58 @@ public class TestPathChildrenCache extends BaseClassForTests
final BlockingQueue<PathChildrenCacheEvent.Type> events = new LinkedBlockingQueue<PathChildrenCacheEvent.Type>();
final ExecutorService exec = Executors.newSingleThreadExecutor();
- PathChildrenCache cache = new PathChildrenCache(client, "/test", true, false, exec);
- cache.getListenable().addListener
- (
- new PathChildrenCacheListener()
- {
- @Override
- public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception
+ try ( PathChildrenCache cache = new PathChildrenCache(client, "/test", true, false, exec) )
+ {
+ cache.getListenable().addListener
+ (
+ new PathChildrenCacheListener()
{
- if ( event.getData().getPath().equals("/test/one") )
+ @Override
+ public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception
{
- events.offer(event.getType());
+ if ( event.getData().getPath().equals("/test/one") )
+ {
+ events.offer(event.getType());
+ }
}
}
- }
- );
- cache.start();
+ );
+ cache.start();
- final BlockingQueue<PathChildrenCacheEvent.Type> events2 = new LinkedBlockingQueue<PathChildrenCacheEvent.Type>();
- PathChildrenCache cache2 = new PathChildrenCache(client, "/test", true, false, exec);
- cache2.getListenable().addListener(
- new PathChildrenCacheListener() {
- @Override
- public void childEvent(CuratorFramework client, PathChildrenCacheEvent event)
- throws Exception
+ final BlockingQueue<PathChildrenCacheEvent.Type> events2 = new LinkedBlockingQueue<PathChildrenCacheEvent.Type>();
+ try ( PathChildrenCache cache2 = new PathChildrenCache(client, "/test", true, false, exec) )
+ {
+ cache2.getListenable().addListener(
+ new PathChildrenCacheListener()
{
- if ( event.getData().getPath().equals("/test/one") )
+ @Override
+ public void childEvent(CuratorFramework client, PathChildrenCacheEvent event)
+ throws Exception
{
- events2.offer(event.getType());
+ if ( event.getData().getPath().equals("/test/one") )
+ {
+ events2.offer(event.getType());
+ }
}
}
- }
- );
- cache2.start();
-
- client.create().forPath("/test/one", "hey there".getBytes());
- Assert.assertEquals(events.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_ADDED);
- Assert.assertEquals(events2.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_ADDED);
-
- client.setData().forPath("/test/one", "sup!".getBytes());
- Assert.assertEquals(events.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_UPDATED);
- Assert.assertEquals(events2.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_UPDATED);
- Assert.assertEquals(new String(cache.getCurrentData("/test/one").getData()), "sup!");
- Assert.assertEquals(new String(cache2.getCurrentData("/test/one").getData()), "sup!");
-
- client.delete().forPath("/test/one");
- Assert.assertEquals(events.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_REMOVED);
- Assert.assertEquals(events2.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_REMOVED);
-
- cache.close();
- cache2.close();
+ );
+ cache2.start();
+
+ client.create().forPath("/test/one", "hey there".getBytes());
+ Assert.assertEquals(events.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_ADDED);
+ Assert.assertEquals(events2.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_ADDED);
+
+ client.setData().forPath("/test/one", "sup!".getBytes());
+ Assert.assertEquals(events.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_UPDATED);
+ Assert.assertEquals(events2.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_UPDATED);
+ Assert.assertEquals(new String(cache.getCurrentData("/test/one").getData()), "sup!");
+ Assert.assertEquals(new String(cache2.getCurrentData("/test/one").getData()), "sup!");
+
+ client.delete().forPath("/test/one");
+ Assert.assertEquals(events.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_REMOVED);
+ Assert.assertEquals(events2.poll(timing.forWaiting().seconds(), TimeUnit.SECONDS), PathChildrenCacheEvent.Type.CHILD_REMOVED);
+ }
+ }
}
finally
{
@@ -902,17 +879,17 @@ public class TestPathChildrenCache extends BaseClassForTests
client.create().forPath("/test");
final ExecuteCalledWatchingExecutorService exec = new ExecuteCalledWatchingExecutorService(Executors.newSingleThreadExecutor());
- PathChildrenCache cache = new PathChildrenCache(client, "/test", true, false, exec);
-
- cache.start();
- client.create().forPath("/test/one", "hey there".getBytes());
+ try ( PathChildrenCache cache = new PathChildrenCache(client, "/test", true, false, exec) )
+ {
+ cache.start();
+ client.create().forPath("/test/one", "hey there".getBytes());
- cache.rebuild();
- Assert.assertEquals(new String(cache.getCurrentData("/test/one").getData()), "hey there");
- Assert.assertTrue(exec.isExecuteCalled());
+ cache.rebuild();
+ Assert.assertEquals(new String(cache.getCurrentData("/test/one").getData()), "hey there");
+ Assert.assertTrue(exec.isExecuteCalled());
- exec.setExecuteCalled(false);
- cache.close();
+ exec.setExecuteCalled(false);
+ }
Assert.assertFalse(exec.isExecuteCalled());
client.delete().forPath("/test/one");
@@ -940,28 +917,29 @@ public class TestPathChildrenCache extends BaseClassForTests
try
{
final CountDownLatch latch = new CountDownLatch(1);
- final PathChildrenCache cache = new PathChildrenCache(client, "/test", false) {
+ try ( final PathChildrenCache cache = new PathChildrenCache(client, "/test", false) {
@Override
protected void handleException(Throwable e)
{
latch.countDown();
}
- };
- cache.start();
-
- cache.offerOperation(new Operation()
+ } )
{
+ cache.start();
- @Override
- public void invoke() throws Exception
+ cache.offerOperation(new Operation()
{
- Thread.sleep(5000);
- }
- });
- Thread.sleep(1000);
+ @Override
+ public void invoke() throws Exception
+ {
+ Thread.sleep(5000);
+ }
+ });
- cache.close();
+ Thread.sleep(1000);
+
+ }
latch.await(5, TimeUnit.SECONDS);
[6/6] curator git commit: Removed testChildReaperCleansUpLockNodes()
as the Reaper is now deprecated
Posted by ra...@apache.org.
Removed testChildReaperCleansUpLockNodes() as the Reaper is now deprecated
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/ff3fbd75
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/ff3fbd75
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/ff3fbd75
Branch: refs/heads/CURATOR-3.0
Commit: ff3fbd759879e677f84b9628b1f2f4a91c3d521d
Parents: 208317a
Author: randgalt <ra...@apache.org>
Authored: Sat Oct 10 16:51:15 2015 -0500
Committer: randgalt <ra...@apache.org>
Committed: Sat Oct 10 16:51:15 2015 -0500
----------------------------------------------------------------------
.../locks/TestInterProcessSemaphore.java | 40 --------------------
1 file changed, 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/ff3fbd75/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessSemaphore.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessSemaphore.java b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessSemaphore.java
index 3ba75d8..2797b5f 100644
--- a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessSemaphore.java
+++ b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessSemaphore.java
@@ -534,44 +534,4 @@ public class TestInterProcessSemaphore extends BaseClassForTests
TestCleanState.closeAndTestClean(client);
}
}
-
- @Test
- public void testChildReaperCleansUpLockNodes() throws Exception
- {
- Timing timing = new Timing();
- CuratorFramework client = CuratorFrameworkFactory.newClient(server.getConnectString(), timing.session(), timing.connection(), new RetryOneTime(1));
- client.start();
-
- ChildReaper childReaper = null;
- try
- {
- InterProcessSemaphoreV2 semaphore = new InterProcessSemaphoreV2(client, "/test/lock", 1);
- semaphore.returnLease(semaphore.acquire(timing.forWaiting().seconds(), TimeUnit.SECONDS));
-
- Assert.assertTrue(client.getChildren().forPath("/test").size() > 0);
-
- childReaper = new ChildReaper(
- client,
- "/test",
- Reaper.Mode.REAP_UNTIL_GONE,
- ChildReaper.newExecutorService(),
- 1,
- "/test-leader",
- InterProcessSemaphoreV2.LOCK_SCHEMA
- );
- childReaper.start();
-
- timing.forWaiting().sleepABit();
-
- List<String> children = client.getChildren().forPath("/test");
-
- Assert.assertEquals(children.size(), 0, "All children of /test should have been reaped");
- }
- finally
- {
- CloseableUtils.closeQuietly(childReaper);
- CloseableUtils.closeQuietly(client);
- }
-
- }
}
[5/6] curator git commit: Trying to make tests more reliable
Posted by ra...@apache.org.
Trying to make tests more reliable
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/208317ab
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/208317ab
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/208317ab
Branch: refs/heads/CURATOR-3.0
Commit: 208317ab0110663745a5e8e76fd9a8bca634082e
Parents: 34700a0
Author: randgalt <ra...@apache.org>
Authored: Sat Oct 10 16:49:33 2015 -0500
Committer: randgalt <ra...@apache.org>
Committed: Sat Oct 10 16:49:33 2015 -0500
----------------------------------------------------------------------
.../recipes/nodes/PersistentEphemeralNode.java | 2 +-
.../nodes/TestPersistentEphemeralNode.java | 125 +++++++++----------
.../apache/curator/test/BaseClassForTests.java | 5 +-
.../curator/test/TestingZooKeeperMain.java | 2 +-
4 files changed, 67 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/208317ab/curator-recipes/src/main/java/org/apache/curator/framework/recipes/nodes/PersistentEphemeralNode.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/nodes/PersistentEphemeralNode.java b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/nodes/PersistentEphemeralNode.java
index f7a4ff4..1606c36 100644
--- a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/nodes/PersistentEphemeralNode.java
+++ b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/nodes/PersistentEphemeralNode.java
@@ -398,7 +398,7 @@ public class PersistentEphemeralNode implements Closeable
catch ( InterruptedException e )
{
Thread.currentThread().interrupt();
- e.printStackTrace();
+ return;
}
}
http://git-wip-us.apache.org/repos/asf/curator/blob/208317ab/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentEphemeralNode.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentEphemeralNode.java b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentEphemeralNode.java
index 0ee6dec..fe2dd93 100644
--- a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentEphemeralNode.java
+++ b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentEphemeralNode.java
@@ -72,7 +72,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
{
for ( PersistentEphemeralNode node : createdNodes )
{
- node.close();
+ CloseableUtils.closeQuietly(node);
}
for ( CuratorFramework curator : curatorInstances )
@@ -95,37 +95,39 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
try
{
client.start();
- PersistentEphemeralNode node = new PersistentEphemeralNode(client, PersistentEphemeralNode.Mode.EPHEMERAL, "/abc/node", "hello".getBytes());
- node.start();
-
- final CountDownLatch connectedLatch = new CountDownLatch(1);
- final CountDownLatch reconnectedLatch = new CountDownLatch(1);
- ConnectionStateListener listener = new ConnectionStateListener()
+ try ( PersistentEphemeralNode node = new PersistentEphemeralNode(client, PersistentEphemeralNode.Mode.EPHEMERAL, "/abc/node", "hello".getBytes()) )
{
- @Override
- public void stateChanged(CuratorFramework client, ConnectionState newState)
+ node.start();
+
+ final CountDownLatch connectedLatch = new CountDownLatch(1);
+ final CountDownLatch reconnectedLatch = new CountDownLatch(1);
+ ConnectionStateListener listener = new ConnectionStateListener()
{
- if ( newState == ConnectionState.CONNECTED )
- {
- connectedLatch.countDown();
- }
- if ( newState == ConnectionState.RECONNECTED )
+ @Override
+ public void stateChanged(CuratorFramework client, ConnectionState newState)
{
- reconnectedLatch.countDown();
+ if ( newState == ConnectionState.CONNECTED )
+ {
+ connectedLatch.countDown();
+ }
+ if ( newState == ConnectionState.RECONNECTED )
+ {
+ reconnectedLatch.countDown();
+ }
}
- }
- };
- client.getConnectionStateListenable().addListener(listener);
- timing.sleepABit();
- server.restart();
- Assert.assertTrue(timing.awaitLatch(connectedLatch));
- timing.sleepABit();
- Assert.assertTrue(node.waitForInitialCreate(timing.forWaiting().milliseconds(), TimeUnit.MILLISECONDS));
- server.stop();
- timing.sleepABit();
- server.restart();
- timing.sleepABit();
- Assert.assertTrue(timing.awaitLatch(reconnectedLatch));
+ };
+ client.getConnectionStateListenable().addListener(listener);
+ timing.sleepABit();
+ server.restart();
+ Assert.assertTrue(timing.awaitLatch(connectedLatch));
+ timing.sleepABit();
+ Assert.assertTrue(node.waitForInitialCreate(timing.forWaiting().milliseconds(), TimeUnit.MILLISECONDS));
+ server.stop();
+ timing.sleepABit();
+ server.restart();
+ timing.sleepABit();
+ Assert.assertTrue(timing.awaitLatch(reconnectedLatch));
+ }
}
finally
{
@@ -252,10 +254,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
}
finally
{
- if ( node != null )
- {
- node.close();
- }
+ CloseableUtils.closeQuietly(node);
TestCleanState.closeAndTestClean(client);
}
}
@@ -276,7 +275,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
}
finally
{
- node.close(); // After closing the path is set to null...
+ CloseableUtils.closeQuietly(node);
}
assertNodeDoesNotExist(curator, path);
@@ -306,9 +305,9 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
CuratorFramework observer = newCurator();
PersistentEphemeralNode node = new PersistentEphemeralNode(curator, PersistentEphemeralNode.Mode.EPHEMERAL, PATH, new byte[0]);
- node.start();
try
{
+ node.start();
node.waitForInitialCreate(timing.forWaiting().seconds(), TimeUnit.SECONDS);
assertNodeExists(observer, node.getActualPath());
@@ -325,7 +324,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
}
finally
{
- node.close();
+ CloseableUtils.closeQuietly(node);
}
}
@@ -336,9 +335,9 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
CuratorFramework observer = newCurator();
PersistentEphemeralNode node = new PersistentEphemeralNode(curator, PersistentEphemeralNode.Mode.EPHEMERAL, PATH, new byte[0]);
- node.start();
try
{
+ node.start();
node.waitForInitialCreate(5, TimeUnit.SECONDS);
assertNodeExists(observer, node.getActualPath());
@@ -359,7 +358,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
}
finally
{
- node.close();
+ CloseableUtils.closeQuietly(node);
}
}
@@ -370,9 +369,9 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
CuratorFramework observer = newCurator();
PersistentEphemeralNode node = new PersistentEphemeralNode(curator, PersistentEphemeralNode.Mode.EPHEMERAL, PATH, new byte[0]);
- node.start();
try
{
+ node.start();
node.waitForInitialCreate(timing.forWaiting().seconds(), TimeUnit.SECONDS);
String path = node.getActualPath();
assertNodeExists(observer, path);
@@ -399,7 +398,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
}
finally
{
- node.close();
+ CloseableUtils.closeQuietly(node);
}
}
@@ -409,9 +408,9 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
CuratorFramework curator = newCurator();
PersistentEphemeralNode node = new PersistentEphemeralNode(curator, PersistentEphemeralNode.Mode.EPHEMERAL, PATH, new byte[0]);
- node.start();
try
{
+ node.start();
node.waitForInitialCreate(timing.forWaiting().seconds(), TimeUnit.SECONDS);
String originalNode = node.getActualPath();
assertNodeExists(curator, originalNode);
@@ -427,7 +426,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
}
finally
{
- node.close();
+ CloseableUtils.closeQuietly(node);
}
}
@@ -437,9 +436,9 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
CuratorFramework curator = newCurator();
PersistentEphemeralNode node1 = new PersistentEphemeralNode(curator, PersistentEphemeralNode.Mode.EPHEMERAL_SEQUENTIAL, PATH, new byte[0]);
- node1.start();
try
{
+ node1.start();
node1.waitForInitialCreate(timing.forWaiting().seconds(), TimeUnit.SECONDS);
String path1 = node1.getActualPath();
@@ -470,15 +469,15 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
byte[] data = "Hello World".getBytes();
PersistentEphemeralNode node = new PersistentEphemeralNode(curator, PersistentEphemeralNode.Mode.EPHEMERAL, PATH, data);
- node.start();
try
{
+ node.start();
node.waitForInitialCreate(timing.forWaiting().seconds(), TimeUnit.SECONDS);
assertTrue(Arrays.equals(curator.getData().forPath(node.getActualPath()), data));
}
finally
{
- node.close();
+ CloseableUtils.closeQuietly(node);
}
}
@@ -496,15 +495,15 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
byte[] data = "Hello World".getBytes();
PersistentEphemeralNode node = new PersistentEphemeralNode(curator, PersistentEphemeralNode.Mode.EPHEMERAL, PATH, data);
- node.start();
try
{
+ node.start();
node.waitForInitialCreate(timing.forWaiting().seconds(), TimeUnit.SECONDS);
assertTrue(Arrays.equals(curator.getData().forPath(node.getActualPath()), data));
}
finally
{
- node.close();
+ CloseableUtils.closeQuietly(node);
}
}
@@ -517,9 +516,9 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
byte[] updatedData = "Updated".getBytes();
PersistentEphemeralNode node = new PersistentEphemeralNode(curator, PersistentEphemeralNode.Mode.EPHEMERAL, PATH, initialData);
- node.start();
try
{
+ node.start();
node.waitForInitialCreate(timing.forWaiting().seconds(), TimeUnit.SECONDS);
assertTrue(Arrays.equals(curator.getData().forPath(node.getActualPath()), initialData));
@@ -550,7 +549,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
}
finally
{
- node.close();
+ CloseableUtils.closeQuietly(node);
}
}
@@ -563,9 +562,9 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
byte[] updatedData = "Updated".getBytes();
PersistentEphemeralNode node = new PersistentEphemeralNode(curator, PersistentEphemeralNode.Mode.EPHEMERAL, PATH, initialData);
- node.start();
try
{
+ node.start();
node.waitForInitialCreate(timing.forWaiting().seconds(), TimeUnit.SECONDS);
assertTrue(Arrays.equals(curator.getData().forPath(node.getActualPath()), initialData));
@@ -589,7 +588,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
}
finally
{
- node.close();
+ CloseableUtils.closeQuietly(node);
}
}
@@ -606,9 +605,9 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
PersistentEphemeralNode node = new PersistentEphemeralNode(curator, PersistentEphemeralNode.Mode.PROTECTED_EPHEMERAL, PATH,
new byte[0]);
- node.start();
try
{
+ node.start();
node.waitForInitialCreate(timing.forWaiting().seconds(), TimeUnit.SECONDS);
assertNodeExists(curator, node.getActualPath());
@@ -625,7 +624,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
}
finally
{
- node.close();
+ CloseableUtils.closeQuietly(node);
}
}
@@ -638,15 +637,16 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
.authorization("digest", "me1:pass1".getBytes())
.retryPolicy(new RetryOneTime(1))
.build();
- client.start();
-
- ACL acl = new ACL(ZooDefs.Perms.WRITE, ZooDefs.Ids.AUTH_IDS);
- List<ACL> aclList = Lists.newArrayList(acl);
- client.create().withACL(aclList).forPath(DIR, new byte[0]);
- client.close();
-
+
PersistentEphemeralNode node = null;
try {
+ client.start();
+
+ ACL acl = new ACL(ZooDefs.Perms.WRITE, ZooDefs.Ids.AUTH_IDS);
+ List<ACL> aclList = Lists.newArrayList(acl);
+ client.create().withACL(aclList).forPath(DIR, new byte[0]);
+ client.close();
+
//New client without authentication
client = newCurator();
@@ -658,11 +658,8 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
assertNodeDoesNotExist(client, PATH);
assertTrue(node.isAuthFailure());
} finally {
- if(node != null) {
- node.close();
- }
-
- client.close();
+ CloseableUtils.closeQuietly(node);
+ CloseableUtils.closeQuietly(client);
}
}
http://git-wip-us.apache.org/repos/asf/curator/blob/208317ab/curator-test/src/main/java/org/apache/curator/test/BaseClassForTests.java
----------------------------------------------------------------------
diff --git a/curator-test/src/main/java/org/apache/curator/test/BaseClassForTests.java b/curator-test/src/main/java/org/apache/curator/test/BaseClassForTests.java
index a3bc2b5..d6feca4 100644
--- a/curator-test/src/main/java/org/apache/curator/test/BaseClassForTests.java
+++ b/curator-test/src/main/java/org/apache/curator/test/BaseClassForTests.java
@@ -144,7 +144,10 @@ public class BaseClassForTests
{
e.printStackTrace();
}
- server = null;
+ finally
+ {
+ server = null;
+ }
}
}
http://git-wip-us.apache.org/repos/asf/curator/blob/208317ab/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperMain.java
----------------------------------------------------------------------
diff --git a/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperMain.java b/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperMain.java
index 795e5d0..330beb1 100644
--- a/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperMain.java
+++ b/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperMain.java
@@ -233,7 +233,7 @@ public class TestingZooKeeperMain implements ZooKeeperMainFace
containerManager.start();
latch.countDown();
cnxnFactory.join();
- if ( zkServer.isRunning()) {
+ if ( (zkServer != null) && zkServer.isRunning()) {
zkServer.shutdown();
}
} catch (InterruptedException e) {
[4/6] curator git commit: don't do work if client is closed
Posted by ra...@apache.org.
don't do work if client is closed
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/34700a05
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/34700a05
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/34700a05
Branch: refs/heads/CURATOR-3.0
Commit: 34700a0557672061ecc859b8b129e40b3f5c244e
Parents: b25a8a3
Author: randgalt <ra...@apache.org>
Authored: Sat Oct 10 16:49:06 2015 -0500
Committer: randgalt <ra...@apache.org>
Committed: Sat Oct 10 16:49:06 2015 -0500
----------------------------------------------------------------------
.../curator/framework/imps/EnsembleTracker.java | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/34700a05/curator-framework/src/main/java/org/apache/curator/framework/imps/EnsembleTracker.java
----------------------------------------------------------------------
diff --git a/curator-framework/src/main/java/org/apache/curator/framework/imps/EnsembleTracker.java b/curator-framework/src/main/java/org/apache/curator/framework/imps/EnsembleTracker.java
index a46fed1..7dc1336 100644
--- a/curator-framework/src/main/java/org/apache/curator/framework/imps/EnsembleTracker.java
+++ b/curator-framework/src/main/java/org/apache/curator/framework/imps/EnsembleTracker.java
@@ -122,18 +122,21 @@ public class EnsembleTracker implements Closeable, CuratorWatcher
private void reset() throws Exception
{
- BackgroundCallback backgroundCallback = new BackgroundCallback()
+ if ( client.getState() == CuratorFrameworkState.STARTED )
{
- @Override
- public void processResult(CuratorFramework client, CuratorEvent event) throws Exception
+ BackgroundCallback backgroundCallback = new BackgroundCallback()
{
- if ( event.getType() == CuratorEventType.GET_CONFIG )
+ @Override
+ public void processResult(CuratorFramework client, CuratorEvent event) throws Exception
{
- processConfigData(event.getData());
+ if ( event.getType() == CuratorEventType.GET_CONFIG )
+ {
+ processConfigData(event.getData());
+ }
}
- }
- };
- client.getConfig().usingWatcher(this).inBackground(backgroundCallback).forEnsemble();
+ };
+ client.getConfig().usingWatcher(this).inBackground(backgroundCallback).forEnsemble();
+ }
}
@VisibleForTesting