(rc, path, ignoreCtx1, name) -> { Runnable retry = () -> { asyncCreateFullPathOptimistic(zk, basePath, nodePath, data, acl, createMode, callback); }; } else { nodeParent = nodeParent.replace("\\", "/"); asyncCreateFullPathOptimistic( zk, basePath, nodeParent, new byte[0], acl, CreateMode.PERSISTENT, (parentRc, parentPath, ignoreCtx3, parentName) -> {
@Test(timeOut = 20000) public void createOptimisticBaseNotExist() throws Exception { CompletableFuture<Void> promise = new CompletableFuture<>(); MetaStoreImplZookeeper.asyncCreateFullPathOptimistic( zkc, "/foo", "bar/zar/gar", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT, (rc, path, ctx, name) -> { if (rc != KeeperException.Code.OK.intValue()) { promise.completeExceptionally(KeeperException.create(rc)); } else { promise.complete(null); } }); try { promise.get(); fail("should have failed"); } catch (ExecutionException ee) { assertEquals(ee.getCause().getClass(), KeeperException.NoNodeException.class); } }
@Test(timeOut = 20000) public void createOptimisticBaseExists() throws Exception { zkc.create("/foo", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); CompletableFuture<Void> promise = new CompletableFuture<>(); MetaStoreImplZookeeper.asyncCreateFullPathOptimistic( zkc, "/foo", "bar/zar/gar", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT, (rc, path, ctx, name) -> { if (rc != KeeperException.Code.OK.intValue()) { promise.completeExceptionally(KeeperException.create(rc)); } else { promise.complete(null); } }); promise.get(); CompletableFuture<Void> promise2 = new CompletableFuture<>(); MetaStoreImplZookeeper.asyncCreateFullPathOptimistic( zkc, "/foo", "blah", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT, (rc, path, ctx, name) -> { if (rc != KeeperException.Code.OK.intValue()) { promise2.completeExceptionally(KeeperException.create(rc)); } else { promise2.complete(null); } }); promise2.get(); } }
asyncCreateFullPathOptimistic(zk, prefixName, ledgerName, new byte[0], Acl, CreateMode.PERSISTENT, createcb); } else {
(rc, path, ignoreCtx1, name) -> { Runnable retry = () -> { asyncCreateFullPathOptimistic(zk, basePath, nodePath, data, acl, createMode, callback); }; } else { nodeParent = nodeParent.replace("\\", "/"); asyncCreateFullPathOptimistic( zk, basePath, nodeParent, new byte[0], acl, CreateMode.PERSISTENT, (parentRc, parentPath, ignoreCtx3, parentName) -> {
asyncCreateFullPathOptimistic(zk, prefixName, ledgerName, new byte[0], Acl, CreateMode.PERSISTENT, createcb); } else {