You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ec...@apache.org on 2012/07/12 21:59:42 UTC

svn commit: r1360897 - /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/randomwalk/concurrent/StopTabletServer.java

Author: ecn
Date: Thu Jul 12 19:59:42 2012
New Revision: 1360897

URL: http://svn.apache.org/viewvc?rev=1360897&view=rev
Log:
ACCUMULO-686 handle disappearing tablet servers during the test

Modified:
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/randomwalk/concurrent/StopTabletServer.java

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/randomwalk/concurrent/StopTabletServer.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/randomwalk/concurrent/StopTabletServer.java?rev=1360897&r1=1360896&r2=1360897&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/randomwalk/concurrent/StopTabletServer.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/randomwalk/concurrent/StopTabletServer.java Thu Jul 12 19:59:42 2012
@@ -26,14 +26,18 @@ public class StopTabletServer extends Te
     ZooReader rdr = new ZooReader(instance.getZooKeepers(), instance.getZooKeepersSessionTimeOut());
     String base = ZooUtil.getRoot(instance) + Constants.ZTSERVERS;
     for (String child : rdr.getChildren(base)) {
-      List<String> children = rdr.getChildren(base + "/" + child);
-      if (children.size() > 0) {
-        Collections.sort(children);
-        Stat stat = new Stat();
-        byte[] data = rdr.getData(base + "/" + child + "/" + children.get(0), stat);
-        if (!"master".equals(new String(data))) {
-          result.add(new TServerInstance(AddressUtil.parseAddress(child, Property.TSERV_CLIENTPORT), stat.getEphemeralOwner()));
+      try {
+        List<String> children = rdr.getChildren(base + "/" + child);
+        if (children.size() > 0) {
+          Collections.sort(children);
+          Stat stat = new Stat();
+          byte[] data = rdr.getData(base + "/" + child + "/" + children.get(0), stat);
+          if (!"master".equals(new String(data))) {
+            result.add(new TServerInstance(AddressUtil.parseAddress(child, Property.TSERV_CLIENTPORT), stat.getEphemeralOwner()));
+          }
         }
+      } catch (KeeperException.NoNodeException ex) {
+        // someone beat us too it
       }
     }
     return result;