use of org.apache.flink.shaded.curator5.org.apache.curator.framework.api.CreateBuilder in project heron by twitter.
the class CuratorStateManagerTest method testCreateNode.
/**
* test createNode method
* @throws Exception
*/
@Test
public void testCreateNode() throws Exception {
CuratorStateManager spyStateManager = spy(new CuratorStateManager());
CuratorFramework mockClient = mock(CuratorFramework.class);
CreateBuilder mockCreateBuilder = mock(CreateBuilder.class);
// Mockito doesn't support mock type-parametrized class, thus suppress the warning
@SuppressWarnings("rawtypes") ACLBackgroundPathAndBytesable mockPath = spy(ACLBackgroundPathAndBytesable.class);
final byte[] data = new byte[10];
doReturn(mockClient).when(spyStateManager).getCuratorClient();
doReturn(true).when(mockClient).blockUntilConnected(anyInt(), any(TimeUnit.class));
doReturn(mockCreateBuilder).when(mockClient).create();
doReturn(mockPath).when(mockCreateBuilder).withMode(any(CreateMode.class));
spyStateManager.initialize(config);
// Verify the node is created successfully
ListenableFuture<Boolean> result = spyStateManager.createNode(PATH, data, false);
verify(mockCreateBuilder).withMode(any(CreateMode.class));
verify(mockPath).forPath(PATH, data);
assertTrue(result.get());
}
use of org.apache.flink.shaded.curator5.org.apache.curator.framework.api.CreateBuilder in project pravega by pravega.
the class ZKStoreHelper method createZNodeIfNotExist.
CompletableFuture<Void> createZNodeIfNotExist(final String path, final boolean createParent) {
final CompletableFuture<Void> result = new CompletableFuture<>();
try {
CreateBuilder createBuilder = client.create();
BackgroundCallback callback = callback(x -> result.complete(null), e -> {
if (e instanceof StoreException.DataExistsException) {
result.complete(null);
} else {
result.completeExceptionally(e);
}
}, path);
if (createParent) {
createBuilder.creatingParentsIfNeeded().inBackground(callback, executor).forPath(path);
} else {
createBuilder.inBackground(callback, executor).forPath(path);
}
} catch (Exception e) {
result.completeExceptionally(StoreException.create(StoreException.Type.UNKNOWN, e, path));
}
return result;
}
use of org.apache.flink.shaded.curator5.org.apache.curator.framework.api.CreateBuilder in project pravega by pravega.
the class ZKStoreHelper method createEphemeralZNode.
CompletableFuture<Boolean> createEphemeralZNode(final String path, byte[] data) {
final CompletableFuture<Boolean> result = new CompletableFuture<>();
try {
CreateBuilder createBuilder = client.create();
BackgroundCallback callback = callback(x -> result.complete(true), e -> {
if (e instanceof StoreException.DataExistsException) {
result.complete(false);
} else {
result.completeExceptionally(e);
}
}, path);
createBuilder.creatingParentsIfNeeded().withMode(CreateMode.EPHEMERAL).inBackground(callback, executor).forPath(path, data);
} catch (Exception e) {
result.completeExceptionally(StoreException.create(StoreException.Type.UNKNOWN, e, path));
}
return result;
}
use of org.apache.flink.shaded.curator5.org.apache.curator.framework.api.CreateBuilder in project fabric8 by jboss-fuse.
the class CreateAction method doExecute.
@Override
protected void doExecute(CuratorFramework curator) throws Exception {
List<ACL> acls = acl == null ? ZooDefs.Ids.OPEN_ACL_UNSAFE : parseACLs(acl);
CreateMode mode;
if (ephemeral && sequential) {
mode = CreateMode.EPHEMERAL_SEQUENTIAL;
} else if (ephemeral) {
mode = CreateMode.EPHEMERAL;
} else if (sequential) {
mode = CreateMode.PERSISTENT_SEQUENTIAL;
} else {
mode = CreateMode.PERSISTENT;
}
String nodeData = data;
if (importUrl) {
nodeData = loadUrl(new URL(data));
}
try {
CreateBuilder createBuilder = curator.create();
if (recursive) {
createBuilder.creatingParentsIfNeeded();
}
BackgroundPathAndBytesable<String> create = createBuilder.withMode(mode).withACL(acls);
if (nodeData == null) {
create.forPath(path);
} else {
create.forPath(path, nodeData.getBytes());
}
} catch (KeeperException.NodeExistsException e) {
if (overwrite) {
curator.setData().forPath(path, nodeData.getBytes());
} else {
throw e;
}
}
}
use of org.apache.flink.shaded.curator5.org.apache.curator.framework.api.CreateBuilder in project atlas by apache.
the class ActiveInstanceStateTest method testSharedPathIsCreatedIfNotExists.
@Test
public void testSharedPathIsCreatedIfNotExists() throws Exception {
when(configuration.getString(HAConfiguration.ATLAS_SERVER_ADDRESS_PREFIX + "id1")).thenReturn(HOST_PORT);
when(configuration.getString(HAConfiguration.ATLAS_SERVER_HA_ZK_ROOT_KEY, HAConfiguration.ATLAS_SERVER_ZK_ROOT_DEFAULT)).thenReturn(HAConfiguration.ATLAS_SERVER_ZK_ROOT_DEFAULT);
when(curatorFactory.clientInstance()).thenReturn(curatorFramework);
ExistsBuilder existsBuilder = mock(ExistsBuilder.class);
when(curatorFramework.checkExists()).thenReturn(existsBuilder);
when(existsBuilder.forPath(getPath())).thenReturn(null);
CreateBuilder createBuilder = mock(CreateBuilder.class);
when(curatorFramework.create()).thenReturn(createBuilder);
when(createBuilder.withMode(CreateMode.EPHEMERAL)).thenReturn(createBuilder);
when(createBuilder.withACL(ZooDefs.Ids.OPEN_ACL_UNSAFE)).thenReturn(createBuilder);
SetDataBuilder setDataBuilder = mock(SetDataBuilder.class);
when(curatorFramework.setData()).thenReturn(setDataBuilder);
ActiveInstanceState activeInstanceState = new ActiveInstanceState(configuration, curatorFactory);
activeInstanceState.update("id1");
verify(createBuilder).forPath(getPath());
}
Aggregations