You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2013/01/11 20:10:34 UTC
svn commit: r1432235 -
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
Author: stack
Date: Fri Jan 11 19:10:33 2013
New Revision: 1432235
URL: http://svn.apache.org/viewvc?rev=1432235&view=rev
Log:
HBASE-7540 Make znode dump to print a dump of replciation znodes
Modified:
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java?rev=1432235&r1=1432234&r2=1432235&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java Fri Jan 11 19:10:33 2013
@@ -26,6 +26,7 @@ import java.net.InetSocketAddress;
import java.net.InetAddress;
import java.net.Socket;
import java.util.ArrayList;
+import java.util.LinkedList;
import java.util.List;
import java.util.Properties;
import java.util.HashMap;
@@ -1253,6 +1254,11 @@ public class ZKUtil {
for (String child : listChildrenNoWatch(zkw, zkw.rsZNode)) {
sb.append("\n ").append(child);
}
+ try {
+ getReplicationZnodesDump(zkw, sb);
+ } catch (KeeperException ke) {
+ LOG.warn("Couldn't get the replication znode dump." + ke.getStackTrace());
+ }
sb.append("\nQuorum Server Statistics:");
String[] servers = zkw.getQuorum().split(",");
for (String server : servers) {
@@ -1279,6 +1285,25 @@ public class ZKUtil {
return sb.toString();
}
+ private static void getReplicationZnodesDump(ZooKeeperWatcher zkw, StringBuilder sb)
+ throws KeeperException {
+ String replicationZNodeName = zkw.getConfiguration().get("zookeeper.znode.replication",
+ "replication");
+ String replicationZnode = joinZNode(zkw.baseZNode, replicationZNodeName);
+ if (ZKUtil.checkExists(zkw, replicationZnode) == -1) return;
+ // do a ls -r on this znode
+ List<String> stack = new LinkedList<String>();
+ stack.add(replicationZnode);
+ do {
+ String znodeToProcess = stack.remove(stack.size() - 1);
+ sb.append("\n").append(znodeToProcess).append(": ")
+ .append(Bytes.toString(ZKUtil.getData(zkw, znodeToProcess)));
+ for (String zNodeChild : ZKUtil.listChildrenNoWatch(zkw, znodeToProcess)) {
+ stack.add(ZKUtil.joinZNode(znodeToProcess, zNodeChild));
+ }
+ } while (stack.size() > 0);
+ }
+
/**
* Gets the statistics from the given server.
*