/** * Set the switch on/off * @param enabled switch enabled or not? * @throws KeeperException keepException will be thrown out */ public void setSwitchEnabled(boolean enabled) throws KeeperException { byte [] upData = toByteArray(enabled); try { ZKUtil.setData(watcher, node, upData); } catch(KeeperException.NoNodeException nne) { ZKUtil.createAndWatch(watcher, node, upData); } super.nodeDataChanged(node); }
/** * Sets the cluster as up. * @throws KeeperException unexpected zk exception */ public void setClusterUp() throws KeeperException { byte [] upData = toByteArray(); try { ZKUtil.createAndWatch(watcher, watcher.getZNodePaths().clusterStateZNode, upData); } catch(KeeperException.NodeExistsException nee) { ZKUtil.setData(watcher, watcher.getZNodePaths().clusterStateZNode, upData); } }
/** * Set region normalizer on/off * @param normalizerOn whether normalizer should be on or off * @throws KeeperException if a ZooKeeper operation fails */ public void setNormalizerOn(boolean normalizerOn) throws KeeperException { byte [] upData = toByteArray(normalizerOn); try { ZKUtil.setData(watcher, watcher.getZNodePaths().regionNormalizerZNode, upData); } catch(KeeperException.NoNodeException nne) { ZKUtil.createAndWatch(watcher, watcher.getZNodePaths().regionNormalizerZNode, upData); } super.nodeDataChanged(watcher.getZNodePaths().regionNormalizerZNode); }
/** * Set the balancer on/off. * * @param balancerOn true if the balancher should be on, false otherwise * @throws KeeperException if a ZooKeeper operation fails */ public void setBalancerOn(boolean balancerOn) throws KeeperException { byte [] upData = toByteArray(balancerOn); try { ZKUtil.setData(watcher, watcher.getZNodePaths().balancerZNode, upData); } catch(KeeperException.NoNodeException nne) { ZKUtil.createAndWatch(watcher, watcher.getZNodePaths().balancerZNode, upData); } super.nodeDataChanged(watcher.getZNodePaths().balancerZNode); }
", create it"); ZKUtil.createAndWatch(zookeeper, zookeeper.getZNodePaths().getZNodeForReplica(replicaId), data);
@Test public void testRegionServerRemovedEvent() throws Exception { ZKUtil.createAndWatch(zkw, ZNodePaths.joinZNode(zkw.getZNodePaths().rsZNode, "hostname2.example.org:1234"), HConstants.EMPTY_BYTE_ARRAY); rt.registerListener(new DummyReplicationListener()); // delete one ZKUtil.deleteNode(zkw, ZNodePaths.joinZNode(zkw.getZNodePaths().rsZNode, "hostname2.example.org:1234")); // wait for event while (rsRemovedCount.get() < 1) { Thread.sleep(5); } assertEquals("hostname2.example.org:1234", rsRemovedData); }
/** * Sets the cluster as up. * @throws KeeperException unexpected zk exception */ public void setClusterUp() throws KeeperException { byte [] upData = Bytes.toBytes(new java.util.Date().toString()); try { ZKUtil.createAndWatch(watcher, watcher.clusterStateZNode, upData); } catch(KeeperException.NodeExistsException nee) { ZKUtil.setData(watcher, watcher.clusterStateZNode, upData); } }
/** * Sets the cluster as up. * @throws KeeperException unexpected zk exception */ public void setClusterUp() throws KeeperException { byte [] upData = toByteArray(); try { ZKUtil.createAndWatch(watcher, watcher.clusterStateZNode, upData); } catch(KeeperException.NodeExistsException nee) { ZKUtil.setData(watcher, watcher.clusterStateZNode, upData); } }
/** * Sets the location of <code>-ROOT-</code> in ZooKeeper to the * specified server address. * @param zookeeper zookeeper reference * @param location The server hosting <code>-ROOT-</code> * @throws KeeperException unexpected zookeeper exception */ public static void setRootLocation(ZooKeeperWatcher zookeeper, final ServerName location) throws KeeperException { LOG.info("Setting ROOT region location in ZooKeeper as " + location); try { ZKUtil.createAndWatch(zookeeper, zookeeper.rootServerZNode, Bytes.toBytes(location.toString())); } catch(KeeperException.NodeExistsException nee) { LOG.debug("ROOT region location already existed, updated location"); ZKUtil.setData(zookeeper, zookeeper.rootServerZNode, Bytes.toBytes(location.toString())); } } }
/** * Set the balancer on/off * @param balancerOn * @throws KeeperException */ public void setBalancerOn(boolean balancerOn) throws KeeperException { byte [] upData = toByteArray(balancerOn); try { ZKUtil.setData(watcher, watcher.balancerZNode, upData); } catch(KeeperException.NoNodeException nne) { ZKUtil.createAndWatch(watcher, watcher.balancerZNode, upData); } super.nodeDataChanged(watcher.balancerZNode); }
private void changePeerState(String id, PeerState state) throws IOException { try { if (!peerExists(id)) { throw new IllegalArgumentException("peer " + id + " is not registered"); } String peerStateZNode = getPeerStateNode(id); if (ZKUtil.checkExists(this.zookeeper, peerStateZNode) != -1) { ZKUtil.setData(this.zookeeper, peerStateZNode, Bytes.toBytes(state.name())); } else { ZKUtil.createAndWatch(zookeeper, peerStateZNode, Bytes.toBytes(state.name())); } LOG.info("state of the peer " + id + " changed to " + state.name()); } catch (KeeperException e) { throw new IOException("Unable to change state of the peer " + id, e); } }
/** * Add a new peer to this cluster * @param id peer's identifier * @param clusterKey ZK ensemble's addresses, client port and root znode * @throws IllegalArgumentException Thrown when the peer doesn't exist * @throws IllegalStateException Thrown when a peer already exists, since * multi-slave isn't supported yet. */ public void addPeer(String id, String clusterKey) throws IOException { try { if (peerExists(id)) { throw new IllegalArgumentException("Cannot add existing peer"); } ZKUtil.createWithParents(this.zookeeper, this.peersZNode); ZKUtil.createAndWatch(this.zookeeper, ZKUtil.joinZNode(this.peersZNode, id), Bytes.toBytes(clusterKey)); // There is a race b/w PeerWatcher and ReplicationZookeeper#add method to create the // peer-state znode. This happens while adding a peer. // The peer state data is set as "ENABLED" by default. ZKUtil.createNodeIfNotExistsAndWatch(this.zookeeper, getPeerStateNode(id), Bytes.toBytes(PeerState.ENABLED.name())); } catch (KeeperException e) { throw new IOException("Unable to add peer", e); } }
/** * Sets the cluster as up. * @throws KeeperException unexpected zk exception */ public void setClusterUp() throws KeeperException { byte [] upData = toByteArray(); try { ZKUtil.createAndWatch(watcher, watcher.getZNodePaths().clusterStateZNode, upData); } catch(KeeperException.NodeExistsException nee) { ZKUtil.setData(watcher, watcher.getZNodePaths().clusterStateZNode, upData); } }
@Override public void setPeerTableCFsConfig(String id, String tableCFsStr) throws ReplicationException { try { if (!peerExists(id)) { throw new IllegalArgumentException("Cannot set peer tableCFs because id=" + id + " does not exist."); } String tableCFsZKNode = getTableCFsNode(id); byte[] tableCFs = Bytes.toBytes(tableCFsStr); if (ZKUtil.checkExists(this.zookeeper, tableCFsZKNode) != -1) { ZKUtil.setData(this.zookeeper, tableCFsZKNode, tableCFs); } else { ZKUtil.createAndWatch(this.zookeeper, tableCFsZKNode, tableCFs); } LOG.info("Peer tableCFs with id= " + id + " is now " + tableCFsStr); } catch (KeeperException e) { throw new ReplicationException("Unable to change tableCFs of the peer with id=" + id, e); } }
public static void createNodeOffline(ZooKeeperWatcher zkw, HRegionInfo region, ServerName serverName, final EventType event) throws KeeperException, KeeperException.NodeExistsException { LOG.debug(zkw.prefix("Creating unassigned node for " + region.getEncodedName() + " in OFFLINE state")); RegionTransitionData data = new RegionTransitionData(event, region.getRegionName(), serverName); String node = getNodeName(zkw, region.getEncodedName()); ZKUtil.createAndWatch(zkw, node, data.getBytes()); }
/** * Set region normalizer on/off * @param normalizerOn whether normalizer should be on or off * @throws KeeperException if a ZooKeeper operation fails */ public void setNormalizerOn(boolean normalizerOn) throws KeeperException { byte [] upData = toByteArray(normalizerOn); try { ZKUtil.setData(watcher, watcher.getZNodePaths().regionNormalizerZNode, upData); } catch(KeeperException.NoNodeException nne) { ZKUtil.createAndWatch(watcher, watcher.getZNodePaths().regionNormalizerZNode, upData); } super.nodeDataChanged(watcher.getZNodePaths().regionNormalizerZNode); }
/** * Set region normalizer on/off * @param normalizerOn whether normalizer should be on or off * @throws KeeperException */ public void setNormalizerOn(boolean normalizerOn) throws KeeperException { byte [] upData = toByteArray(normalizerOn); try { ZKUtil.setData(watcher, watcher.getRegionNormalizerZNode(), upData); } catch(KeeperException.NoNodeException nne) { ZKUtil.createAndWatch(watcher, watcher.getRegionNormalizerZNode(), upData); } super.nodeDataChanged(watcher.getRegionNormalizerZNode()); }
/** * Set the balancer on/off. * * @param balancerOn true if the balancher should be on, false otherwise * @throws KeeperException if a ZooKeeper operation fails */ public void setBalancerOn(boolean balancerOn) throws KeeperException { byte [] upData = toByteArray(balancerOn); try { ZKUtil.setData(watcher, watcher.getZNodePaths().balancerZNode, upData); } catch(KeeperException.NoNodeException nne) { ZKUtil.createAndWatch(watcher, watcher.getZNodePaths().balancerZNode, upData); } super.nodeDataChanged(watcher.getZNodePaths().balancerZNode); }
public static void createNodeOffline(ZooKeeperWatcher zkw, HRegionInfo region, ServerName serverName, final EventType event) throws KeeperException, KeeperException.NodeExistsException { LOG.debug(zkw.prefix("Creating unassigned node " + region.getEncodedName() + " in OFFLINE state")); RegionTransition rt = RegionTransition.createRegionTransition(event, region.getRegionName(), serverName); String node = getNodeName(zkw, region.getEncodedName()); ZKUtil.createAndWatch(zkw, node, rt.toByteArray()); }
@Test public void testRegionServerRemovedEvent() throws Exception { ZKUtil.createAndWatch(zkw, ZNodePaths.joinZNode(zkw.getZNodePaths().rsZNode, "hostname2.example.org:1234"), HConstants.EMPTY_BYTE_ARRAY); rt.registerListener(new DummyReplicationListener()); // delete one ZKUtil.deleteNode(zkw, ZNodePaths.joinZNode(zkw.getZNodePaths().rsZNode, "hostname2.example.org:1234")); // wait for event while (rsRemovedCount.get() < 1) { Thread.sleep(5); } assertEquals("hostname2.example.org:1234", rsRemovedData); }