ACCUMULO-2235 Make the du shell command successful when not in a table context.


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

Branch: refs/heads/1.6.0-SNAPSHOT
Commit: 707e74e057bc449aced48147544153d0571801d0
Parents: 7bef404
Author: Josh Elser <els...@apache.org>
Authored: Wed Jan 22 23:18:17 2014 -0500
Committer: Josh Elser <els...@apache.org>
Committed: Wed Jan 22 23:18:17 2014 -0500

----------------------------------------------------------------------
 .../apache/accumulo/core/util/shell/commands/DUCommand.java  | 8 ++++++--
 .../test/java/org/apache/accumulo/test/ShellServerTest.java  | 6 +++++-
 2 files changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/707e74e0/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DUCommand.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DUCommand.java
 
b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DUCommand.java
index bdc4d33..b03f516 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DUCommand.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DUCommand.java
@@ -44,16 +44,20 @@ public class DUCommand extends Command {
 
     boolean prettyPrint = cl.hasOption(optHumanReadble.getOpt()) ? true : 
false;
 
+    // Add any patterns
     if (cl.hasOption(optTablePattern.getOpt())) {
       for (String table : shellState.getConnector().tableOperations().list()) {
         if (table.matches(cl.getOptionValue(optTablePattern.getOpt()))) {
           tablesToFlush.add(table);
         }
       }
-    } else {
-      shellState.checkTableState();
+    }
+    
+    // If we didn't get any tables, and we have a table selected, add the 
current table
+    if (tablesToFlush.isEmpty() && !shellState.getTableName().isEmpty()) {
       tablesToFlush.add(shellState.getTableName());
     }
+    
     try {
       final AccumuloConfiguration acuConf = new 
ConfigurationCopy(shellState.getConnector().instanceOperations().getSystemConfiguration());
       TableDiskUsage.printDiskUsage(acuConf, tablesToFlush, FileSystem.get(new 
Configuration()), shellState.getConnector(), new Printer() {

http://git-wip-us.apache.org/repos/asf/accumulo/blob/707e74e0/test/src/test/java/org/apache/accumulo/test/ShellServerTest.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/accumulo/test/ShellServerTest.java 
b/test/src/test/java/org/apache/accumulo/test/ShellServerTest.java
index 014342c..bc73c9f 100644
--- a/test/src/test/java/org/apache/accumulo/test/ShellServerTest.java
+++ b/test/src/test/java/org/apache/accumulo/test/ShellServerTest.java
@@ -245,7 +245,11 @@ public class ShellServerTest {
   
   @Test(timeout = 30000)
   public void du() throws Exception {
-    // du
+    // Calling du not in a table context shouldn't throw an error
+    output.clear();
+    exec("du", true, "", true);
+    
+    output.clear();
     exec("createtable t");
     make10();
     exec("flush -t t -w");

Reply via email to