private void createEphemeralLiveNode() throws KeeperException, InterruptedException {

		for (int i = 0; i < nodePropsList.size(); i++) {
			String nodeName = nodePropsList.get(i).getNodeName();
			String nodePath = ZkStateReader.LIVE_NODES_ZKNODE + "/" + nodeName;
			log.info("Register node as live in ZooKeeper:" + nodePath);

			try {
				boolean nodeDeleted = true;
				try {

					zkClient.delete(nodePath, -1, true);
				} catch (KeeperException.NoNodeException e) {
					// fine if there is nothing to delete
					// TODO: annoying that ZK logs a warning on us
					nodeDeleted = false;
				}
				if (nodeDeleted) {
					log.info("Found a previous node that still exists while trying to register a new live node "
							+ nodePath + " - removing existing node to create another.");
				}
				zkClient.makePath(nodePath, CreateMode.EPHEMERAL, true);
			} catch (KeeperException e) {
				// its okay if the node already exists
				if (e.code() != KeeperException.Code.NODEEXISTS) {
					throw e;
				}
			}
		}

	}