/** * @param zkw * @param pathOrEntityGroupName * @return Path to znode */ public static String getPath(final ZooKeeperWatcher zkw, final String pathOrEntityGroupName) { return pathOrEntityGroupName.startsWith("/") ? pathOrEntityGroupName : getNodeName( zkw, pathOrEntityGroupName); }
/** * Get the version of the specified znode * @param zkw zk reference * @param entityGroup entityGroup's info * @return the version of the znode, -1 if it doesn't exist * @throws org.apache.zookeeper.KeeperException */ public static int getVersion(ZooKeeperWatcher zkw, EntityGroupInfo entityGroup) throws KeeperException { String znode = getNodeName(zkw, entityGroup.getEncodedName()); return ZKUtil.checkExists(zkw, znode); }
/** * Delete the assignment node regardless of its current state. * <p> * Fail silent even if the node does not exist at all. * @param watcher * @param entityGroupInfo * @throws org.apache.zookeeper.KeeperException */ public static void deleteNodeFailSilent(ZooKeeperWatcher watcher, EntityGroupInfo entityGroupInfo) throws KeeperException { String node = getNodeName(watcher, entityGroupInfo.getEncodedName()); ZKUtil.deleteNodeFailSilent(watcher, node); }
String node = ZKAssign.getNodeName(watcher, entityGroupInfo.getEncodedName()); Stat stat = new Stat();
public static void createNodeOffline(ZooKeeperWatcher zkw, EntityGroupInfo entityGroup, ServerName serverName, final EventType event) throws KeeperException, KeeperException.NodeExistsException { LOG.debug(zkw.prefix("Creating unassigned node for " + entityGroup.getEncodedName() + " in OFFLINE state")); EntityGroupTransaction rt = EntityGroupTransaction.createEntityGroupTransition(event, entityGroup.getEntityGroupName(), serverName); String node = getNodeName(zkw, entityGroup.getEncodedName()); ZKUtil.createAndWatch(zkw, node, rt.toByteArray()); }
EventHandler.EventType.FSERVER_ZK_ENTITYGROUP_SPLITTING, entityGroup.getEntityGroupName(), serverName); String node = ZKAssign.getNodeName(zkw, entityGroup.getEncodedName()); if (!ZKUtil.createEphemeralNodeAndWatch(zkw, node, data.toByteArray())) { throw new IOException("Failed create of ephemeral " + node);
/** * Creates an unassigned node in the OFFLINE state for the specified * entityGroup. * <p> * Runs asynchronously. Depends on no pre-existing znode. * * <p> * Sets a watcher on the unassigned entityGroup node. * * @param zkw zk reference * @param entityGroup entityGroup to be created as offline * @param serverName server transition will happen on * @param cb * @param ctx * @throws org.apache.zookeeper.KeeperException if unexpected zookeeper exception * @throws org.apache.zookeeper.KeeperException.NodeExistsException if node already exists */ public static void asyncCreateNodeOffline(ZooKeeperWatcher zkw, EntityGroupInfo entityGroup, ServerName serverName, final AsyncCallback.StringCallback cb, final Object ctx) throws KeeperException { LOG.debug(zkw.prefix("Async create of unassigned node for " + entityGroup.getEncodedName() + " with OFFLINE state")); EntityGroupTransaction rt = EntityGroupTransaction.createEntityGroupTransition( EventType.M_ZK_ENTITYGROUP_OFFLINE, entityGroup.getEntityGroupName(), serverName); String node = getNodeName(zkw, entityGroup.getEncodedName()); ZKUtil.asyncCreate(zkw, node, rt.toByteArray(), cb, ctx); }
String node = ZKAssign.getNodeName(this.watcher, entityGroupInfo.getEncodedName()); Stat stat = new Stat();
LOG.debug(zkw.prefix("Deleting existing unassigned " + "node for " + entityGroupName + " that is in expected state " + expectedState)); String node = getNodeName(zkw, entityGroupName); zkw.sync(node); Stat stat = new Stat();
EventType.M_ZK_ENTITYGROUP_CLOSING, entityGroup.getEntityGroupName(), serverName, HConstants.EMPTY_BYTE_ARRAY); String node = getNodeName(zkw, entityGroup.getEncodedName()); return ZKUtil.createAndWatch(zkw, node, rt.toByteArray());
@Override EntityGroup openEntityGroup() { // Open entityGroup first, then remove znode as though it'd been // hijacked. EntityGroup entityGroup = super.openEntityGroup(); // Don't actually open entityGroup BUT remove the znode as though it'd // been hijacked on us. ZooKeeperWatcher zkw = this.server.getZooKeeper(); String node = ZKAssign.getNodeName(zkw, egi.getEncodedName()); try { ZKUtil.deleteNodeFailSilent(zkw, node); } catch (KeeperException e) { throw new RuntimeException("Ugh failed delete of " + node, e); } return entityGroup; } };
String node = getNodeName(zkw, encoded); zkw.sync(node);
HConstants.EMPTY_BYTE_ARRAY); byte[] data = rt.toByteArray(); String node = getNodeName(zkw, entityGroup.getEncodedName()); zkw.sync(node); int version = ZKUtil.checkExists(zkw, node);
String encoded = region.getEncodedName(); String node = ZKAssign.getNodeName(zkw, encoded); zkw.sync(node);
when(am.getZKTable()).thenReturn(new ZKTable(zkw)); Stat stat = new Stat(); String nodeName = ZKAssign.getNodeName(zkw, entityGroup .getEntityGroupInfo().getEncodedName()); ZKUtil.getDataAndWatch(zkw, nodeName, stat);
st.execute(fserver, fserver); } catch (IOException e) { String node = ZKAssign.getNodeName(fserver.getZooKeeper(), entityGroups .get(0).getEntityGroupInfo().getEncodedName()); if (nodeCreated) {
String path = ZKAssign.getNodeName(zkw, egi.getEncodedName()); Stat stats = zkw.getRecoverableZooKeeper().exists(path, false); LOG.info("EPHEMERAL NODE BEFORE SERVER ABORT, path=" + path + ", stats="
assertTrue(daughters.size() >= 2); String path = ZKAssign.getNodeName(zkw, egi.getEncodedName()); Stat stats = zkw.getRecoverableZooKeeper().exists(path, false); LOG.info("EPHEMERAL NODE BEFORE SERVER ABORT, path=" + path + ", stats="