/** * Since ZkConnection session is shared in this ZkClient, do not create ephemeral node using a SharedZKClient. */ @Override public String create(final String path, Object datat, final List<ACL> acl, final CreateMode mode) { if (mode.isEphemeral()) { throw new HelixException( "Create ephemeral nodes using a " + SharedZkClient.class.getSimpleName() + " ZkClient is not supported."); } return super.create(path, datat, acl, mode); }
0); Assert.assertEquals((long) beanServer.getAttribute(idealStatename, "WriteLatencyGauge.Max"), 0); zkClient.create(TEST_PATH, TEST_DATA, CreateMode.PERSISTENT); Assert.assertEquals((long) beanServer.getAttribute(rootname, "WriteCounter"), 1); Assert.assertEquals((long) beanServer.getAttribute(rootname, "WriteBytesCounter"),
public static void createOrReplace(ZkClient client, String path, final ZNRecord record, final boolean persistent) { int retryCount = 0; while (retryCount < RETRYLIMIT) { try { if (client.exists(path)) { DataUpdater<Object> updater = new DataUpdater<Object>() { @Override public Object update(Object currentData) { return record; } }; client.updateDataSerialized(path, updater); } else { CreateMode mode = (persistent) ? CreateMode.PERSISTENT : CreateMode.EPHEMERAL; client.create(path, record, mode); } break; } catch (Exception e) { retryCount = retryCount + 1; logger.warn("Exception trying to createOrReplace " + path + " Exception:" + e.getMessage() + ". Will retry."); } } }
public static void createOrUpdate(ZkClient client, String path, final ZNRecord record, final boolean persistent, final boolean mergeOnUpdate) { int retryCount = 0; while (retryCount < RETRYLIMIT) { try { if (client.exists(path)) { DataUpdater<ZNRecord> updater = new DataUpdater<ZNRecord>() { @Override public ZNRecord update(ZNRecord currentData) { if (currentData != null && mergeOnUpdate) { currentData.update(record); return currentData; } return record; } }; client.updateDataSerialized(path, updater); } else { CreateMode mode = (persistent) ? CreateMode.PERSISTENT : CreateMode.EPHEMERAL; client.create(path, record, mode); } break; } catch (Exception e) { retryCount = retryCount + 1; logger.warn("Exception trying to update " + path + " Exception:" + e.getMessage() + ". Will retry."); } } }
retry = false; try { _zkClient.create(path, record, mode); result._pathCreated.add(path);