You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2015/01/23 23:26:47 UTC

[01/12] accumulo git commit: ACCUMULO-3516 Use verbose flag in ZooZap

Repository: accumulo
Updated Branches:
  refs/heads/1.5 2016ab93c -> 145f83a60
  refs/heads/1.6 9f2fcf4aa -> 69ca8c9c0
  refs/heads/master 3db160922 -> 4b2045e7d


ACCUMULO-3516 Use verbose flag in ZooZap


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/9d479e2f
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/9d479e2f
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/9d479e2f

Branch: refs/heads/1.5
Commit: 9d479e2fade23a0dbee6e19a08e340e7d874b29c
Parents: 2016ab9
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Jan 23 16:23:25 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Jan 23 16:23:25 2015 -0500

----------------------------------------------------------------------
 .../org/apache/accumulo/server/util/ZooZap.java   | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/9d479e2f/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java b/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java
index fe1cc3c..f9bb208 100644
--- a/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java
+++ b/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java
@@ -30,10 +30,8 @@ import com.beust.jcommander.Parameter;
 
 public class ZooZap {
 
-  static boolean verbose = false;
-
-  private static void message(String msg) {
-    if (verbose)
+  private static void message(String msg, Opts opts) {
+    if (opts.verbose)
       System.out.println(msg);
   }
 
@@ -63,7 +61,7 @@ public class ZooZap {
     if (opts.zapMaster) {
       String masterLockPath = Constants.ZROOT + "/" + iid + Constants.ZMASTER_LOCK;
 
-      zapDirectory(zoo, masterLockPath);
+      zapDirectory(zoo, masterLockPath, opts);
     }
 
     if (opts.zapTservers) {
@@ -71,7 +69,7 @@ public class ZooZap {
       try {
         List<String> children = zoo.getChildren(tserversPath);
         for (String child : children) {
-          message("Deleting " + tserversPath + "/" + child + " from zookeeper");
+          message("Deleting " + tserversPath + "/" + child + " from zookeeper", opts);
 
           if (opts.zapMaster)
             ZooReaderWriter.getInstance().recursiveDelete(tserversPath + "/" + child, NodeMissingPolicy.SKIP);
@@ -79,7 +77,7 @@ public class ZooZap {
             String path = tserversPath + "/" + child;
             if (zoo.getChildren(path).size() > 0) {
               if (!ZooLock.deleteLock(path, "tserver")) {
-                message("Did not delete " + tserversPath + "/" + child);
+                message("Did not delete " + tserversPath + "/" + child, opts);
               }
             }
           }
@@ -91,16 +89,16 @@ public class ZooZap {
 
     if (opts.zapTracers) {
       String path = Constants.ZROOT + "/" + iid + Constants.ZTRACERS;
-      zapDirectory(zoo, path);
+      zapDirectory(zoo, path, opts);
     }
 
   }
 
-  private static void zapDirectory(IZooReaderWriter zoo, String path) {
+  private static void zapDirectory(IZooReaderWriter zoo, String path, Opts opts) {
     try {
       List<String> children = zoo.getChildren(path);
       for (String child : children) {
-        message("Deleting " + path + "/" + child + " from zookeeper");
+        message("Deleting " + path + "/" + child + " from zookeeper", opts);
         zoo.recursiveDelete(path + "/" + child, NodeMissingPolicy.SKIP);
       }
     } catch (Exception e) {


[06/12] accumulo git commit: ACCUMULO-3515 Make SplitLarge respect maxSize flag

Posted by ct...@apache.org.
ACCUMULO-3515 Make SplitLarge respect maxSize flag


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/a27a0bb9
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/a27a0bb9
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/a27a0bb9

Branch: refs/heads/master
Commit: a27a0bb9bcc971e258e77b9fc42cb714deb4bf47
Parents: 9d479e2
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Jan 23 16:24:45 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Jan 23 16:24:45 2015 -0500

----------------------------------------------------------------------
 .../main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/a27a0bb9/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java b/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
index 95bf097..79ef8cb 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
@@ -52,7 +52,6 @@ public class SplitLarge {
   public static void main(String[] args) throws Exception {
     Configuration conf = CachedConfiguration.getInstance();
     FileSystem fs = FileSystem.get(conf);
-    long maxSize = 10 * 1024 * 1024;
     Opts opts = new Opts();
     opts.parseArgs(SplitLarge.class.getName(), args);
 
@@ -77,7 +76,7 @@ public class SplitLarge {
       while (iter.hasTop()) {
         Key key = iter.getTopKey();
         Value value = iter.getTopValue();
-        if (key.getSize() + value.getSize() < maxSize) {
+        if (key.getSize() + value.getSize() < opts.maxSize) {
           small.append(key, value);
         } else {
           large.append(key, value);


[12/12] accumulo git commit: Merge branch '1.6'

Posted by ct...@apache.org.
Merge branch '1.6'

Conflicts:
	server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/4b2045e7
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/4b2045e7
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/4b2045e7

Branch: refs/heads/master
Commit: 4b2045e7d36bb580abe66346e9ad79e62f63b23e
Parents: 3db1609 69ca8c9
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Jan 23 17:25:45 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Jan 23 17:25:45 2015 -0500

----------------------------------------------------------------------
 .../accumulo/core/file/rfile/SplitLarge.java    |  3 +--
 .../org/apache/accumulo/server/util/ZooZap.java | 18 ++++++-------
 .../apache/accumulo/master/util/FateAdmin.java  | 28 +++++++++++++-------
 3 files changed, 28 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/4b2045e7/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
----------------------------------------------------------------------
diff --cc server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
index 759d898,f9bb208..090c85b
--- a/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
@@@ -35,12 -29,9 +35,10 @@@ import com.beust.jcommander.JCommander
  import com.beust.jcommander.Parameter;
  
  public class ZooZap {
 +  private static final Logger log = Logger.getLogger(ZooZap.class);
  
-   static boolean verbose = false;
- 
-   private static void message(String msg) {
-     if (verbose)
+   private static void message(String msg, Opts opts) {
+     if (opts.verbose)
        System.out.println(msg);
    }
  
@@@ -107,8 -88,8 +105,8 @@@
      }
  
      if (opts.zapTracers) {
 -      String path = Constants.ZROOT + "/" + iid + Constants.ZTRACERS;
 +      String path = opts.getTraceZKPath();
-       zapDirectory(zoo, path);
+       zapDirectory(zoo, path, opts);
      }
  
    }


[03/12] accumulo git commit: ACCUMULO-3516 Use verbose flag in ZooZap

Posted by ct...@apache.org.
ACCUMULO-3516 Use verbose flag in ZooZap


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/9d479e2f
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/9d479e2f
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/9d479e2f

Branch: refs/heads/master
Commit: 9d479e2fade23a0dbee6e19a08e340e7d874b29c
Parents: 2016ab9
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Jan 23 16:23:25 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Jan 23 16:23:25 2015 -0500

----------------------------------------------------------------------
 .../org/apache/accumulo/server/util/ZooZap.java   | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/9d479e2f/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java b/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java
index fe1cc3c..f9bb208 100644
--- a/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java
+++ b/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java
@@ -30,10 +30,8 @@ import com.beust.jcommander.Parameter;
 
 public class ZooZap {
 
-  static boolean verbose = false;
-
-  private static void message(String msg) {
-    if (verbose)
+  private static void message(String msg, Opts opts) {
+    if (opts.verbose)
       System.out.println(msg);
   }
 
@@ -63,7 +61,7 @@ public class ZooZap {
     if (opts.zapMaster) {
       String masterLockPath = Constants.ZROOT + "/" + iid + Constants.ZMASTER_LOCK;
 
-      zapDirectory(zoo, masterLockPath);
+      zapDirectory(zoo, masterLockPath, opts);
     }
 
     if (opts.zapTservers) {
@@ -71,7 +69,7 @@ public class ZooZap {
       try {
         List<String> children = zoo.getChildren(tserversPath);
         for (String child : children) {
-          message("Deleting " + tserversPath + "/" + child + " from zookeeper");
+          message("Deleting " + tserversPath + "/" + child + " from zookeeper", opts);
 
           if (opts.zapMaster)
             ZooReaderWriter.getInstance().recursiveDelete(tserversPath + "/" + child, NodeMissingPolicy.SKIP);
@@ -79,7 +77,7 @@ public class ZooZap {
             String path = tserversPath + "/" + child;
             if (zoo.getChildren(path).size() > 0) {
               if (!ZooLock.deleteLock(path, "tserver")) {
-                message("Did not delete " + tserversPath + "/" + child);
+                message("Did not delete " + tserversPath + "/" + child, opts);
               }
             }
           }
@@ -91,16 +89,16 @@ public class ZooZap {
 
     if (opts.zapTracers) {
       String path = Constants.ZROOT + "/" + iid + Constants.ZTRACERS;
-      zapDirectory(zoo, path);
+      zapDirectory(zoo, path, opts);
     }
 
   }
 
-  private static void zapDirectory(IZooReaderWriter zoo, String path) {
+  private static void zapDirectory(IZooReaderWriter zoo, String path, Opts opts) {
     try {
       List<String> children = zoo.getChildren(path);
       for (String child : children) {
-        message("Deleting " + path + "/" + child + " from zookeeper");
+        message("Deleting " + path + "/" + child + " from zookeeper", opts);
         zoo.recursiveDelete(path + "/" + child, NodeMissingPolicy.SKIP);
       }
     } catch (Exception e) {


[02/12] accumulo git commit: ACCUMULO-3516 Use verbose flag in ZooZap

Posted by ct...@apache.org.
ACCUMULO-3516 Use verbose flag in ZooZap


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/9d479e2f
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/9d479e2f
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/9d479e2f

Branch: refs/heads/1.6
Commit: 9d479e2fade23a0dbee6e19a08e340e7d874b29c
Parents: 2016ab9
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Jan 23 16:23:25 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Jan 23 16:23:25 2015 -0500

----------------------------------------------------------------------
 .../org/apache/accumulo/server/util/ZooZap.java   | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/9d479e2f/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java b/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java
index fe1cc3c..f9bb208 100644
--- a/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java
+++ b/server/src/main/java/org/apache/accumulo/server/util/ZooZap.java
@@ -30,10 +30,8 @@ import com.beust.jcommander.Parameter;
 
 public class ZooZap {
 
-  static boolean verbose = false;
-
-  private static void message(String msg) {
-    if (verbose)
+  private static void message(String msg, Opts opts) {
+    if (opts.verbose)
       System.out.println(msg);
   }
 
@@ -63,7 +61,7 @@ public class ZooZap {
     if (opts.zapMaster) {
       String masterLockPath = Constants.ZROOT + "/" + iid + Constants.ZMASTER_LOCK;
 
-      zapDirectory(zoo, masterLockPath);
+      zapDirectory(zoo, masterLockPath, opts);
     }
 
     if (opts.zapTservers) {
@@ -71,7 +69,7 @@ public class ZooZap {
       try {
         List<String> children = zoo.getChildren(tserversPath);
         for (String child : children) {
-          message("Deleting " + tserversPath + "/" + child + " from zookeeper");
+          message("Deleting " + tserversPath + "/" + child + " from zookeeper", opts);
 
           if (opts.zapMaster)
             ZooReaderWriter.getInstance().recursiveDelete(tserversPath + "/" + child, NodeMissingPolicy.SKIP);
@@ -79,7 +77,7 @@ public class ZooZap {
             String path = tserversPath + "/" + child;
             if (zoo.getChildren(path).size() > 0) {
               if (!ZooLock.deleteLock(path, "tserver")) {
-                message("Did not delete " + tserversPath + "/" + child);
+                message("Did not delete " + tserversPath + "/" + child, opts);
               }
             }
           }
@@ -91,16 +89,16 @@ public class ZooZap {
 
     if (opts.zapTracers) {
       String path = Constants.ZROOT + "/" + iid + Constants.ZTRACERS;
-      zapDirectory(zoo, path);
+      zapDirectory(zoo, path, opts);
     }
 
   }
 
-  private static void zapDirectory(IZooReaderWriter zoo, String path) {
+  private static void zapDirectory(IZooReaderWriter zoo, String path, Opts opts) {
     try {
       List<String> children = zoo.getChildren(path);
       for (String child : children) {
-        message("Deleting " + path + "/" + child + " from zookeeper");
+        message("Deleting " + path + "/" + child + " from zookeeper", opts);
         zoo.recursiveDelete(path + "/" + child, NodeMissingPolicy.SKIP);
       }
     } catch (Exception e) {


[05/12] accumulo git commit: ACCUMULO-3515 Make SplitLarge respect maxSize flag

Posted by ct...@apache.org.
ACCUMULO-3515 Make SplitLarge respect maxSize flag


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/a27a0bb9
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/a27a0bb9
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/a27a0bb9

Branch: refs/heads/1.6
Commit: a27a0bb9bcc971e258e77b9fc42cb714deb4bf47
Parents: 9d479e2
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Jan 23 16:24:45 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Jan 23 16:24:45 2015 -0500

----------------------------------------------------------------------
 .../main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/a27a0bb9/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java b/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
index 95bf097..79ef8cb 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
@@ -52,7 +52,6 @@ public class SplitLarge {
   public static void main(String[] args) throws Exception {
     Configuration conf = CachedConfiguration.getInstance();
     FileSystem fs = FileSystem.get(conf);
-    long maxSize = 10 * 1024 * 1024;
     Opts opts = new Opts();
     opts.parseArgs(SplitLarge.class.getName(), args);
 
@@ -77,7 +76,7 @@ public class SplitLarge {
       while (iter.hasTop()) {
         Key key = iter.getTopKey();
         Value value = iter.getTopValue();
-        if (key.getSize() + value.getSize() < maxSize) {
+        if (key.getSize() + value.getSize() < opts.maxSize) {
           small.append(key, value);
         } else {
           large.append(key, value);


[07/12] accumulo git commit: ACCUMULO-3487 Make fate Admin command use txids

Posted by ct...@apache.org.
ACCUMULO-3487 Make fate Admin command use txids

The fate admin command now respects multiple txids properly.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/145f83a6
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/145f83a6
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/145f83a6

Branch: refs/heads/1.6
Commit: 145f83a60494ef6b8fc61b48db3ac7a40c2039bd
Parents: a27a0bb
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Jan 23 17:01:53 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Jan 23 17:02:47 2015 -0500

----------------------------------------------------------------------
 .../org/apache/accumulo/server/fate/Admin.java  | 28 +++++++++++++-------
 1 file changed, 19 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/145f83a6/server/src/main/java/org/apache/accumulo/server/fate/Admin.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/accumulo/server/fate/Admin.java b/server/src/main/java/org/apache/accumulo/server/fate/Admin.java
index 16bfd0c..c7f959b 100644
--- a/server/src/main/java/org/apache/accumulo/server/fate/Admin.java
+++ b/server/src/main/java/org/apache/accumulo/server/fate/Admin.java
@@ -17,7 +17,9 @@
 package org.apache.accumulo.server.fate;
 
 import java.util.ArrayList;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map.Entry;
 
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.cli.Help;
@@ -41,8 +43,8 @@ import com.beust.jcommander.Parameters;
 public class Admin {
 
   static class TxOpts {
-    @Parameter(description = "<txid>", required = true)
-    List<String> args = new ArrayList<String>();
+    @Parameter(description = "<txid>...", required = true)
+    List<String> txids = new ArrayList<String>();
   }
 
   @Parameters(commandDescription = "Stop an existing FATE by transaction id")
@@ -58,8 +60,12 @@ public class Admin {
     Help opts = new Help();
     JCommander jc = new JCommander(opts);
     jc.setProgramName(Admin.class.getName());
-    jc.addCommand("fail", new FailOpts());
-    jc.addCommand("delete", new DeleteOpts());
+    LinkedHashMap<String,TxOpts> txOpts = new LinkedHashMap<String,TxOpts>(2);
+    txOpts.put("fail", new FailOpts());
+    txOpts.put("delete", new DeleteOpts());
+    for (Entry<String,TxOpts> entry : txOpts.entrySet()) {
+      jc.addCommand(entry.getKey(), entry.getValue());
+    }
     jc.addCommand("print", new PrintOpts());
     jc.parse(args);
     if (opts.help || jc.getParsedCommand() == null) {
@@ -76,14 +82,18 @@ public class Admin {
     ZooStore<Master> zs = new ZooStore<Master>(path, zk);
 
     if (jc.getParsedCommand().equals("fail")) {
-      if (!admin.prepFail(zs, zk, masterPath, args[1])) {
-        System.exit(1);
+      for (String txid : txOpts.get(jc.getParsedCommand()).txids) {
+        if (!admin.prepFail(zs, zk, masterPath, txid)) {
+          System.exit(1);
+        }
       }
     } else if (jc.getParsedCommand().equals("delete")) {
-      if (!admin.prepDelete(zs, zk, masterPath, args[1])) {
-        System.exit(1);
+      for (String txid : txOpts.get(jc.getParsedCommand()).txids) {
+        if (!admin.prepDelete(zs, zk, masterPath, txid)) {
+          System.exit(1);
+        }
+        admin.deleteLocks(zs, zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS, txid);
       }
-      admin.deleteLocks(zs, zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS, args[1]);
     } else if (jc.getParsedCommand().equals("print")) {
       admin.print(new ReadOnlyStore<Master>(zs), zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS);
     }


[08/12] accumulo git commit: ACCUMULO-3487 Make fate Admin command use txids

Posted by ct...@apache.org.
ACCUMULO-3487 Make fate Admin command use txids

The fate admin command now respects multiple txids properly.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/145f83a6
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/145f83a6
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/145f83a6

Branch: refs/heads/master
Commit: 145f83a60494ef6b8fc61b48db3ac7a40c2039bd
Parents: a27a0bb
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Jan 23 17:01:53 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Jan 23 17:02:47 2015 -0500

----------------------------------------------------------------------
 .../org/apache/accumulo/server/fate/Admin.java  | 28 +++++++++++++-------
 1 file changed, 19 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/145f83a6/server/src/main/java/org/apache/accumulo/server/fate/Admin.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/accumulo/server/fate/Admin.java b/server/src/main/java/org/apache/accumulo/server/fate/Admin.java
index 16bfd0c..c7f959b 100644
--- a/server/src/main/java/org/apache/accumulo/server/fate/Admin.java
+++ b/server/src/main/java/org/apache/accumulo/server/fate/Admin.java
@@ -17,7 +17,9 @@
 package org.apache.accumulo.server.fate;
 
 import java.util.ArrayList;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map.Entry;
 
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.cli.Help;
@@ -41,8 +43,8 @@ import com.beust.jcommander.Parameters;
 public class Admin {
 
   static class TxOpts {
-    @Parameter(description = "<txid>", required = true)
-    List<String> args = new ArrayList<String>();
+    @Parameter(description = "<txid>...", required = true)
+    List<String> txids = new ArrayList<String>();
   }
 
   @Parameters(commandDescription = "Stop an existing FATE by transaction id")
@@ -58,8 +60,12 @@ public class Admin {
     Help opts = new Help();
     JCommander jc = new JCommander(opts);
     jc.setProgramName(Admin.class.getName());
-    jc.addCommand("fail", new FailOpts());
-    jc.addCommand("delete", new DeleteOpts());
+    LinkedHashMap<String,TxOpts> txOpts = new LinkedHashMap<String,TxOpts>(2);
+    txOpts.put("fail", new FailOpts());
+    txOpts.put("delete", new DeleteOpts());
+    for (Entry<String,TxOpts> entry : txOpts.entrySet()) {
+      jc.addCommand(entry.getKey(), entry.getValue());
+    }
     jc.addCommand("print", new PrintOpts());
     jc.parse(args);
     if (opts.help || jc.getParsedCommand() == null) {
@@ -76,14 +82,18 @@ public class Admin {
     ZooStore<Master> zs = new ZooStore<Master>(path, zk);
 
     if (jc.getParsedCommand().equals("fail")) {
-      if (!admin.prepFail(zs, zk, masterPath, args[1])) {
-        System.exit(1);
+      for (String txid : txOpts.get(jc.getParsedCommand()).txids) {
+        if (!admin.prepFail(zs, zk, masterPath, txid)) {
+          System.exit(1);
+        }
       }
     } else if (jc.getParsedCommand().equals("delete")) {
-      if (!admin.prepDelete(zs, zk, masterPath, args[1])) {
-        System.exit(1);
+      for (String txid : txOpts.get(jc.getParsedCommand()).txids) {
+        if (!admin.prepDelete(zs, zk, masterPath, txid)) {
+          System.exit(1);
+        }
+        admin.deleteLocks(zs, zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS, txid);
       }
-      admin.deleteLocks(zs, zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS, args[1]);
     } else if (jc.getParsedCommand().equals("print")) {
       admin.print(new ReadOnlyStore<Master>(zs), zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS);
     }


[11/12] accumulo git commit: Merge branch '1.5' into 1.6

Posted by ct...@apache.org.
Merge branch '1.5' into 1.6

Conflicts:
	server/master/src/main/java/org/apache/accumulo/master/util/FateAdmin.java


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/69ca8c9c
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/69ca8c9c
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/69ca8c9c

Branch: refs/heads/1.6
Commit: 69ca8c9c0b1d4b069df82e47fba5b823e18f503e
Parents: 9f2fcf4 145f83a
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Jan 23 17:24:26 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Jan 23 17:24:26 2015 -0500

----------------------------------------------------------------------
 .../accumulo/core/file/rfile/SplitLarge.java    |  3 +--
 .../org/apache/accumulo/server/util/ZooZap.java | 18 ++++++-------
 .../apache/accumulo/master/util/FateAdmin.java  | 28 +++++++++++++-------
 3 files changed, 28 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/69ca8c9c/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/accumulo/blob/69ca8c9c/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
----------------------------------------------------------------------
diff --cc server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
index fe1cc3c,0000000..f9bb208
mode 100644,000000..100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
@@@ -1,110 -1,0 +1,108 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.accumulo.server.util;
 +
 +import java.util.List;
 +
 +import org.apache.accumulo.core.Constants;
 +import org.apache.accumulo.fate.zookeeper.IZooReaderWriter;
 +import org.apache.accumulo.fate.zookeeper.ZooUtil.NodeMissingPolicy;
 +import org.apache.accumulo.server.cli.ClientOpts;
 +import org.apache.accumulo.server.zookeeper.ZooLock;
 +import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
 +
 +import com.beust.jcommander.JCommander;
 +import com.beust.jcommander.Parameter;
 +
 +public class ZooZap {
 +
-   static boolean verbose = false;
- 
-   private static void message(String msg) {
-     if (verbose)
++  private static void message(String msg, Opts opts) {
++    if (opts.verbose)
 +      System.out.println(msg);
 +  }
 +
 +  static class Opts extends ClientOpts {
 +    @Parameter(names = "-master", description = "remove master locks")
 +    boolean zapMaster = false;
 +    @Parameter(names = "-tservers", description = "remove tablet server locks")
 +    boolean zapTservers = false;
 +    @Parameter(names = "-tracers", description = "remove tracer locks")
 +    boolean zapTracers = false;
 +    @Parameter(names = "-verbose", description = "print out messages about progress")
 +    boolean verbose = false;
 +  }
 +
 +  public static void main(String[] args) {
 +    Opts opts = new Opts();
 +    opts.parseArgs(ZooZap.class.getName(), args);
 +
 +    if (!opts.zapMaster && !opts.zapTservers && !opts.zapTracers) {
 +      new JCommander(opts).usage();
 +      return;
 +    }
 +
 +    String iid = opts.getInstance().getInstanceID();
 +    IZooReaderWriter zoo = ZooReaderWriter.getInstance();
 +
 +    if (opts.zapMaster) {
 +      String masterLockPath = Constants.ZROOT + "/" + iid + Constants.ZMASTER_LOCK;
 +
-       zapDirectory(zoo, masterLockPath);
++      zapDirectory(zoo, masterLockPath, opts);
 +    }
 +
 +    if (opts.zapTservers) {
 +      String tserversPath = Constants.ZROOT + "/" + iid + Constants.ZTSERVERS;
 +      try {
 +        List<String> children = zoo.getChildren(tserversPath);
 +        for (String child : children) {
-           message("Deleting " + tserversPath + "/" + child + " from zookeeper");
++          message("Deleting " + tserversPath + "/" + child + " from zookeeper", opts);
 +
 +          if (opts.zapMaster)
 +            ZooReaderWriter.getInstance().recursiveDelete(tserversPath + "/" + child, NodeMissingPolicy.SKIP);
 +          else {
 +            String path = tserversPath + "/" + child;
 +            if (zoo.getChildren(path).size() > 0) {
 +              if (!ZooLock.deleteLock(path, "tserver")) {
-                 message("Did not delete " + tserversPath + "/" + child);
++                message("Did not delete " + tserversPath + "/" + child, opts);
 +              }
 +            }
 +          }
 +        }
 +      } catch (Exception e) {
 +        e.printStackTrace();
 +      }
 +    }
 +
 +    if (opts.zapTracers) {
 +      String path = Constants.ZROOT + "/" + iid + Constants.ZTRACERS;
-       zapDirectory(zoo, path);
++      zapDirectory(zoo, path, opts);
 +    }
 +
 +  }
 +
-   private static void zapDirectory(IZooReaderWriter zoo, String path) {
++  private static void zapDirectory(IZooReaderWriter zoo, String path, Opts opts) {
 +    try {
 +      List<String> children = zoo.getChildren(path);
 +      for (String child : children) {
-         message("Deleting " + path + "/" + child + " from zookeeper");
++        message("Deleting " + path + "/" + child + " from zookeeper", opts);
 +        zoo.recursiveDelete(path + "/" + child, NodeMissingPolicy.SKIP);
 +      }
 +    } catch (Exception e) {
 +      e.printStackTrace();
 +    }
 +  }
 +}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/69ca8c9c/server/master/src/main/java/org/apache/accumulo/master/util/FateAdmin.java
----------------------------------------------------------------------
diff --cc server/master/src/main/java/org/apache/accumulo/master/util/FateAdmin.java
index 5ab5d75,0000000..953d630
mode 100644,000000..100644
--- a/server/master/src/main/java/org/apache/accumulo/master/util/FateAdmin.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/util/FateAdmin.java
@@@ -1,94 -1,0 +1,104 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.accumulo.master.util;
 +
 +import java.util.ArrayList;
++import java.util.LinkedHashMap;
 +import java.util.List;
++import java.util.Map.Entry;
 +
 +import org.apache.accumulo.core.Constants;
 +import org.apache.accumulo.core.cli.Help;
 +import org.apache.accumulo.core.client.Instance;
 +import org.apache.accumulo.core.zookeeper.ZooUtil;
 +import org.apache.accumulo.fate.AdminUtil;
 +import org.apache.accumulo.fate.ReadOnlyStore;
 +import org.apache.accumulo.fate.ZooStore;
 +import org.apache.accumulo.fate.zookeeper.IZooReaderWriter;
 +import org.apache.accumulo.master.Master;
 +import org.apache.accumulo.server.client.HdfsZooInstance;
 +import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
 +
 +import com.beust.jcommander.JCommander;
 +import com.beust.jcommander.Parameter;
 +import com.beust.jcommander.Parameters;
 +
 +/**
 + * A utility to administer FATE operations
 + */
 +public class FateAdmin {
 +
 +  static class TxOpts {
-     @Parameter(description = "<txid>", required = true)
-     List<String> args = new ArrayList<String>();
++    @Parameter(description = "<txid>...", required = true)
++    List<String> txids = new ArrayList<String>();
 +  }
 +
 +  @Parameters(commandDescription = "Stop an existing FATE by transaction id")
 +  static class FailOpts extends TxOpts {}
 +
 +  @Parameters(commandDescription = "Delete an existing FATE by transaction id")
 +  static class DeleteOpts extends TxOpts {}
 +
 +  @Parameters(commandDescription = "List the existing FATE transactions")
 +  static class PrintOpts {}
 +
 +  public static void main(String[] args) throws Exception {
 +    Help opts = new Help();
 +    JCommander jc = new JCommander(opts);
 +    jc.setProgramName(FateAdmin.class.getName());
-     jc.addCommand("fail", new FailOpts());
-     jc.addCommand("delete", new DeleteOpts());
++    LinkedHashMap<String,TxOpts> txOpts = new LinkedHashMap<String,TxOpts>(2);
++    txOpts.put("fail", new FailOpts());
++    txOpts.put("delete", new DeleteOpts());
++    for (Entry<String,TxOpts> entry : txOpts.entrySet()) {
++      jc.addCommand(entry.getKey(), entry.getValue());
++    }
 +    jc.addCommand("print", new PrintOpts());
 +    jc.parse(args);
 +    if (opts.help || jc.getParsedCommand() == null) {
 +      jc.usage();
 +      System.exit(1);
 +    }
 +
 +    System.err
 +        .printf("This tool has been deprecated%nFATE administration now available within 'accumulo shell'%n$ fate fail <txid>... | delete <txid>... | print [<txid>...]%n%n");
 +
 +    AdminUtil<Master> admin = new AdminUtil<Master>();
 +
 +    Instance instance = HdfsZooInstance.getInstance();
 +    String path = ZooUtil.getRoot(instance) + Constants.ZFATE;
 +    String masterPath = ZooUtil.getRoot(instance) + Constants.ZMASTER_LOCK;
 +    IZooReaderWriter zk = ZooReaderWriter.getInstance();
 +    ZooStore<Master> zs = new ZooStore<Master>(path, zk);
 +
 +    if (jc.getParsedCommand().equals("fail")) {
-       if (!admin.prepFail(zs, zk, masterPath, args[1])) {
-         System.exit(1);
++      for (String txid : txOpts.get(jc.getParsedCommand()).txids) {
++        if (!admin.prepFail(zs, zk, masterPath, txid)) {
++          System.exit(1);
++        }
 +      }
 +    } else if (jc.getParsedCommand().equals("delete")) {
-       if (!admin.prepDelete(zs, zk, masterPath, args[1])) {
-         System.exit(1);
++      for (String txid : txOpts.get(jc.getParsedCommand()).txids) {
++        if (!admin.prepDelete(zs, zk, masterPath, txid)) {
++          System.exit(1);
++        }
++        admin.deleteLocks(zs, zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS, txid);
 +      }
-       admin.deleteLocks(zs, zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS, args[1]);
 +    } else if (jc.getParsedCommand().equals("print")) {
 +      admin.print(new ReadOnlyStore<Master>(zs), zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS);
 +    }
 +  }
 +}


[04/12] accumulo git commit: ACCUMULO-3515 Make SplitLarge respect maxSize flag

Posted by ct...@apache.org.
ACCUMULO-3515 Make SplitLarge respect maxSize flag


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/a27a0bb9
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/a27a0bb9
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/a27a0bb9

Branch: refs/heads/1.5
Commit: a27a0bb9bcc971e258e77b9fc42cb714deb4bf47
Parents: 9d479e2
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Jan 23 16:24:45 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Jan 23 16:24:45 2015 -0500

----------------------------------------------------------------------
 .../main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/a27a0bb9/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java b/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
index 95bf097..79ef8cb 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
@@ -52,7 +52,6 @@ public class SplitLarge {
   public static void main(String[] args) throws Exception {
     Configuration conf = CachedConfiguration.getInstance();
     FileSystem fs = FileSystem.get(conf);
-    long maxSize = 10 * 1024 * 1024;
     Opts opts = new Opts();
     opts.parseArgs(SplitLarge.class.getName(), args);
 
@@ -77,7 +76,7 @@ public class SplitLarge {
       while (iter.hasTop()) {
         Key key = iter.getTopKey();
         Value value = iter.getTopValue();
-        if (key.getSize() + value.getSize() < maxSize) {
+        if (key.getSize() + value.getSize() < opts.maxSize) {
           small.append(key, value);
         } else {
           large.append(key, value);


[09/12] accumulo git commit: ACCUMULO-3487 Make fate Admin command use txids

Posted by ct...@apache.org.
ACCUMULO-3487 Make fate Admin command use txids

The fate admin command now respects multiple txids properly.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/145f83a6
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/145f83a6
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/145f83a6

Branch: refs/heads/1.5
Commit: 145f83a60494ef6b8fc61b48db3ac7a40c2039bd
Parents: a27a0bb
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Jan 23 17:01:53 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Jan 23 17:02:47 2015 -0500

----------------------------------------------------------------------
 .../org/apache/accumulo/server/fate/Admin.java  | 28 +++++++++++++-------
 1 file changed, 19 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/145f83a6/server/src/main/java/org/apache/accumulo/server/fate/Admin.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/accumulo/server/fate/Admin.java b/server/src/main/java/org/apache/accumulo/server/fate/Admin.java
index 16bfd0c..c7f959b 100644
--- a/server/src/main/java/org/apache/accumulo/server/fate/Admin.java
+++ b/server/src/main/java/org/apache/accumulo/server/fate/Admin.java
@@ -17,7 +17,9 @@
 package org.apache.accumulo.server.fate;
 
 import java.util.ArrayList;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map.Entry;
 
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.cli.Help;
@@ -41,8 +43,8 @@ import com.beust.jcommander.Parameters;
 public class Admin {
 
   static class TxOpts {
-    @Parameter(description = "<txid>", required = true)
-    List<String> args = new ArrayList<String>();
+    @Parameter(description = "<txid>...", required = true)
+    List<String> txids = new ArrayList<String>();
   }
 
   @Parameters(commandDescription = "Stop an existing FATE by transaction id")
@@ -58,8 +60,12 @@ public class Admin {
     Help opts = new Help();
     JCommander jc = new JCommander(opts);
     jc.setProgramName(Admin.class.getName());
-    jc.addCommand("fail", new FailOpts());
-    jc.addCommand("delete", new DeleteOpts());
+    LinkedHashMap<String,TxOpts> txOpts = new LinkedHashMap<String,TxOpts>(2);
+    txOpts.put("fail", new FailOpts());
+    txOpts.put("delete", new DeleteOpts());
+    for (Entry<String,TxOpts> entry : txOpts.entrySet()) {
+      jc.addCommand(entry.getKey(), entry.getValue());
+    }
     jc.addCommand("print", new PrintOpts());
     jc.parse(args);
     if (opts.help || jc.getParsedCommand() == null) {
@@ -76,14 +82,18 @@ public class Admin {
     ZooStore<Master> zs = new ZooStore<Master>(path, zk);
 
     if (jc.getParsedCommand().equals("fail")) {
-      if (!admin.prepFail(zs, zk, masterPath, args[1])) {
-        System.exit(1);
+      for (String txid : txOpts.get(jc.getParsedCommand()).txids) {
+        if (!admin.prepFail(zs, zk, masterPath, txid)) {
+          System.exit(1);
+        }
       }
     } else if (jc.getParsedCommand().equals("delete")) {
-      if (!admin.prepDelete(zs, zk, masterPath, args[1])) {
-        System.exit(1);
+      for (String txid : txOpts.get(jc.getParsedCommand()).txids) {
+        if (!admin.prepDelete(zs, zk, masterPath, txid)) {
+          System.exit(1);
+        }
+        admin.deleteLocks(zs, zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS, txid);
       }
-      admin.deleteLocks(zs, zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS, args[1]);
     } else if (jc.getParsedCommand().equals("print")) {
       admin.print(new ReadOnlyStore<Master>(zs), zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS);
     }


[10/12] accumulo git commit: Merge branch '1.5' into 1.6

Posted by ct...@apache.org.
Merge branch '1.5' into 1.6

Conflicts:
	server/master/src/main/java/org/apache/accumulo/master/util/FateAdmin.java


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/69ca8c9c
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/69ca8c9c
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/69ca8c9c

Branch: refs/heads/master
Commit: 69ca8c9c0b1d4b069df82e47fba5b823e18f503e
Parents: 9f2fcf4 145f83a
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Jan 23 17:24:26 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Jan 23 17:24:26 2015 -0500

----------------------------------------------------------------------
 .../accumulo/core/file/rfile/SplitLarge.java    |  3 +--
 .../org/apache/accumulo/server/util/ZooZap.java | 18 ++++++-------
 .../apache/accumulo/master/util/FateAdmin.java  | 28 +++++++++++++-------
 3 files changed, 28 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/69ca8c9c/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/accumulo/blob/69ca8c9c/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
----------------------------------------------------------------------
diff --cc server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
index fe1cc3c,0000000..f9bb208
mode 100644,000000..100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
@@@ -1,110 -1,0 +1,108 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.accumulo.server.util;
 +
 +import java.util.List;
 +
 +import org.apache.accumulo.core.Constants;
 +import org.apache.accumulo.fate.zookeeper.IZooReaderWriter;
 +import org.apache.accumulo.fate.zookeeper.ZooUtil.NodeMissingPolicy;
 +import org.apache.accumulo.server.cli.ClientOpts;
 +import org.apache.accumulo.server.zookeeper.ZooLock;
 +import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
 +
 +import com.beust.jcommander.JCommander;
 +import com.beust.jcommander.Parameter;
 +
 +public class ZooZap {
 +
-   static boolean verbose = false;
- 
-   private static void message(String msg) {
-     if (verbose)
++  private static void message(String msg, Opts opts) {
++    if (opts.verbose)
 +      System.out.println(msg);
 +  }
 +
 +  static class Opts extends ClientOpts {
 +    @Parameter(names = "-master", description = "remove master locks")
 +    boolean zapMaster = false;
 +    @Parameter(names = "-tservers", description = "remove tablet server locks")
 +    boolean zapTservers = false;
 +    @Parameter(names = "-tracers", description = "remove tracer locks")
 +    boolean zapTracers = false;
 +    @Parameter(names = "-verbose", description = "print out messages about progress")
 +    boolean verbose = false;
 +  }
 +
 +  public static void main(String[] args) {
 +    Opts opts = new Opts();
 +    opts.parseArgs(ZooZap.class.getName(), args);
 +
 +    if (!opts.zapMaster && !opts.zapTservers && !opts.zapTracers) {
 +      new JCommander(opts).usage();
 +      return;
 +    }
 +
 +    String iid = opts.getInstance().getInstanceID();
 +    IZooReaderWriter zoo = ZooReaderWriter.getInstance();
 +
 +    if (opts.zapMaster) {
 +      String masterLockPath = Constants.ZROOT + "/" + iid + Constants.ZMASTER_LOCK;
 +
-       zapDirectory(zoo, masterLockPath);
++      zapDirectory(zoo, masterLockPath, opts);
 +    }
 +
 +    if (opts.zapTservers) {
 +      String tserversPath = Constants.ZROOT + "/" + iid + Constants.ZTSERVERS;
 +      try {
 +        List<String> children = zoo.getChildren(tserversPath);
 +        for (String child : children) {
-           message("Deleting " + tserversPath + "/" + child + " from zookeeper");
++          message("Deleting " + tserversPath + "/" + child + " from zookeeper", opts);
 +
 +          if (opts.zapMaster)
 +            ZooReaderWriter.getInstance().recursiveDelete(tserversPath + "/" + child, NodeMissingPolicy.SKIP);
 +          else {
 +            String path = tserversPath + "/" + child;
 +            if (zoo.getChildren(path).size() > 0) {
 +              if (!ZooLock.deleteLock(path, "tserver")) {
-                 message("Did not delete " + tserversPath + "/" + child);
++                message("Did not delete " + tserversPath + "/" + child, opts);
 +              }
 +            }
 +          }
 +        }
 +      } catch (Exception e) {
 +        e.printStackTrace();
 +      }
 +    }
 +
 +    if (opts.zapTracers) {
 +      String path = Constants.ZROOT + "/" + iid + Constants.ZTRACERS;
-       zapDirectory(zoo, path);
++      zapDirectory(zoo, path, opts);
 +    }
 +
 +  }
 +
-   private static void zapDirectory(IZooReaderWriter zoo, String path) {
++  private static void zapDirectory(IZooReaderWriter zoo, String path, Opts opts) {
 +    try {
 +      List<String> children = zoo.getChildren(path);
 +      for (String child : children) {
-         message("Deleting " + path + "/" + child + " from zookeeper");
++        message("Deleting " + path + "/" + child + " from zookeeper", opts);
 +        zoo.recursiveDelete(path + "/" + child, NodeMissingPolicy.SKIP);
 +      }
 +    } catch (Exception e) {
 +      e.printStackTrace();
 +    }
 +  }
 +}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/69ca8c9c/server/master/src/main/java/org/apache/accumulo/master/util/FateAdmin.java
----------------------------------------------------------------------
diff --cc server/master/src/main/java/org/apache/accumulo/master/util/FateAdmin.java
index 5ab5d75,0000000..953d630
mode 100644,000000..100644
--- a/server/master/src/main/java/org/apache/accumulo/master/util/FateAdmin.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/util/FateAdmin.java
@@@ -1,94 -1,0 +1,104 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.accumulo.master.util;
 +
 +import java.util.ArrayList;
++import java.util.LinkedHashMap;
 +import java.util.List;
++import java.util.Map.Entry;
 +
 +import org.apache.accumulo.core.Constants;
 +import org.apache.accumulo.core.cli.Help;
 +import org.apache.accumulo.core.client.Instance;
 +import org.apache.accumulo.core.zookeeper.ZooUtil;
 +import org.apache.accumulo.fate.AdminUtil;
 +import org.apache.accumulo.fate.ReadOnlyStore;
 +import org.apache.accumulo.fate.ZooStore;
 +import org.apache.accumulo.fate.zookeeper.IZooReaderWriter;
 +import org.apache.accumulo.master.Master;
 +import org.apache.accumulo.server.client.HdfsZooInstance;
 +import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
 +
 +import com.beust.jcommander.JCommander;
 +import com.beust.jcommander.Parameter;
 +import com.beust.jcommander.Parameters;
 +
 +/**
 + * A utility to administer FATE operations
 + */
 +public class FateAdmin {
 +
 +  static class TxOpts {
-     @Parameter(description = "<txid>", required = true)
-     List<String> args = new ArrayList<String>();
++    @Parameter(description = "<txid>...", required = true)
++    List<String> txids = new ArrayList<String>();
 +  }
 +
 +  @Parameters(commandDescription = "Stop an existing FATE by transaction id")
 +  static class FailOpts extends TxOpts {}
 +
 +  @Parameters(commandDescription = "Delete an existing FATE by transaction id")
 +  static class DeleteOpts extends TxOpts {}
 +
 +  @Parameters(commandDescription = "List the existing FATE transactions")
 +  static class PrintOpts {}
 +
 +  public static void main(String[] args) throws Exception {
 +    Help opts = new Help();
 +    JCommander jc = new JCommander(opts);
 +    jc.setProgramName(FateAdmin.class.getName());
-     jc.addCommand("fail", new FailOpts());
-     jc.addCommand("delete", new DeleteOpts());
++    LinkedHashMap<String,TxOpts> txOpts = new LinkedHashMap<String,TxOpts>(2);
++    txOpts.put("fail", new FailOpts());
++    txOpts.put("delete", new DeleteOpts());
++    for (Entry<String,TxOpts> entry : txOpts.entrySet()) {
++      jc.addCommand(entry.getKey(), entry.getValue());
++    }
 +    jc.addCommand("print", new PrintOpts());
 +    jc.parse(args);
 +    if (opts.help || jc.getParsedCommand() == null) {
 +      jc.usage();
 +      System.exit(1);
 +    }
 +
 +    System.err
 +        .printf("This tool has been deprecated%nFATE administration now available within 'accumulo shell'%n$ fate fail <txid>... | delete <txid>... | print [<txid>...]%n%n");
 +
 +    AdminUtil<Master> admin = new AdminUtil<Master>();
 +
 +    Instance instance = HdfsZooInstance.getInstance();
 +    String path = ZooUtil.getRoot(instance) + Constants.ZFATE;
 +    String masterPath = ZooUtil.getRoot(instance) + Constants.ZMASTER_LOCK;
 +    IZooReaderWriter zk = ZooReaderWriter.getInstance();
 +    ZooStore<Master> zs = new ZooStore<Master>(path, zk);
 +
 +    if (jc.getParsedCommand().equals("fail")) {
-       if (!admin.prepFail(zs, zk, masterPath, args[1])) {
-         System.exit(1);
++      for (String txid : txOpts.get(jc.getParsedCommand()).txids) {
++        if (!admin.prepFail(zs, zk, masterPath, txid)) {
++          System.exit(1);
++        }
 +      }
 +    } else if (jc.getParsedCommand().equals("delete")) {
-       if (!admin.prepDelete(zs, zk, masterPath, args[1])) {
-         System.exit(1);
++      for (String txid : txOpts.get(jc.getParsedCommand()).txids) {
++        if (!admin.prepDelete(zs, zk, masterPath, txid)) {
++          System.exit(1);
++        }
++        admin.deleteLocks(zs, zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS, txid);
 +      }
-       admin.deleteLocks(zs, zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS, args[1]);
 +    } else if (jc.getParsedCommand().equals("print")) {
 +      admin.print(new ReadOnlyStore<Master>(zs), zk, ZooUtil.getRoot(instance) + Constants.ZTABLE_LOCKS);
 +    }
 +  }
 +}