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.
    *