ACCUMULO-802 updated ConstraintCommand to work with namespaces
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/57dd6c9d Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/57dd6c9d Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/57dd6c9d Branch: refs/heads/ACCUMULO-802 Commit: 57dd6c9dc545a23895cc1131ced9c372edf8df43 Parents: c9ab4c9 Author: Sean Hickey <tallirishll...@gmail.com> Authored: Thu Jul 25 15:27:37 2013 -0400 Committer: Christopher Tubbs <ctubb...@apache.org> Committed: Thu Oct 31 21:25:34 2013 -0400 ---------------------------------------------------------------------- .../util/shell/commands/ConstraintCommand.java | 6 +++++- .../core/util/shell/commands/DUCommand.java | 5 ----- .../tserver/constraints/ConstraintChecker.java | 1 - .../org/apache/accumulo/test/ShellServerIT.java | 21 +++++++++++++++----- 4 files changed, 21 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/57dd6c9d/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConstraintCommand.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConstraintCommand.java b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConstraintCommand.java index 8be52cf..f72fa32 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConstraintCommand.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConstraintCommand.java @@ -43,7 +43,11 @@ public class ConstraintCommand extends Command { namespace = null; } - tableName = OptUtil.getTableOpt(cl, shellState); + if (cl.hasOption(OptUtil.tableOpt().getOpt()) || !shellState.getTableName().isEmpty()) { + tableName = OptUtil.getTableOpt(cl, shellState); + } else { + tableName = null; + } int i; http://git-wip-us.apache.org/repos/asf/accumulo/blob/57dd6c9d/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 fcfa772..817809d 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 @@ -71,15 +71,10 @@ public class DUCommand extends Command { } try { String valueFormat = prettyPrint ? "%9s" : "%,24d"; - Long total = 0L; for (DiskUsage usage : shellState.getConnector().tableOperations().getDiskUsage(tables)) { Object value = prettyPrint ? NumUtil.bigNumberForSize(usage.getUsage()) : usage.getUsage(); shellState.getReader().println(String.format(valueFormat + " %s", value, usage.getTables())); - for (@SuppressWarnings("unused") String t : usage.getTables()) { - total += usage.getUsage(); - } } - shellState.getReader().println(String.format(valueFormat + " %s", total, "Total")); } catch (Exception ex) { throw new RuntimeException(ex); } http://git-wip-us.apache.org/repos/asf/accumulo/blob/57dd6c9d/server/tserver/src/main/java/org/apache/accumulo/tserver/constraints/ConstraintChecker.java ---------------------------------------------------------------------- diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/constraints/ConstraintChecker.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/constraints/ConstraintChecker.java index 902f12b..6f52485 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/constraints/ConstraintChecker.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/constraints/ConstraintChecker.java @@ -59,7 +59,6 @@ public class ConstraintChecker { for (Entry<String,String> entry : conf) { if (entry.getKey().startsWith(Property.TABLE_CONSTRAINT_PREFIX.getKey())) { - System.err.println("FOUND A CONSTRAINT: " + entry.toString() + " for table " + conf.getTableId()); String className = entry.getValue(); Class<? extends Constraint> clazz = loader.loadClass(className).asSubclass(Constraint.class); log.debug("Loaded constraint " + clazz.getName() + " for " + conf.getTableId()); http://git-wip-us.apache.org/repos/asf/accumulo/blob/57dd6c9d/test/src/test/java/org/apache/accumulo/test/ShellServerIT.java ---------------------------------------------------------------------- diff --git a/test/src/test/java/org/apache/accumulo/test/ShellServerIT.java b/test/src/test/java/org/apache/accumulo/test/ShellServerIT.java index 79230a5..8fdaefc 100644 --- a/test/src/test/java/org/apache/accumulo/test/ShellServerIT.java +++ b/test/src/test/java/org/apache/accumulo/test/ShellServerIT.java @@ -844,11 +844,10 @@ public class ShellServerIT extends SimpleMacIT { exec("y"); exec("namespaces", true, "thing2", true); - /* doesn't work yet, waiting on ACCUMULO-1565 - exec("clonenamespace thing2 testers -e table.file.max", true); - exec("namespaces", true, "testers", true); - exec("tables", true, "testers.thingy", true); - exec("clonenamespace thing2 testers2 -s table.file.max=42", true);*/ + /* + * doesn't work yet, waiting on ACCUMULO-1565 exec("clonenamespace thing2 testers -e table.file.max", true); exec("namespaces", true, "testers", true); + * exec("tables", true, "testers.thingy", true); exec("clonenamespace thing2 testers2 -s table.file.max=42", true); + */ exec("du -tn thing2", true, "thing2.thingy", true); @@ -857,6 +856,7 @@ public class ShellServerIT extends SimpleMacIT { exec("online -tn thing2", true); exec("flush -tn thing2", true); exec("compact -tn thing2", true); + exec("createnamespace testers", true); exec("createtable testers.1", true); exec("createtable testers.2", true); exec("deletetable -tn testers -f", true); @@ -880,6 +880,17 @@ public class ShellServerIT extends SimpleMacIT { exec("deletenamespace -f thing2", true); exec("namespaces", true, "thing2", false); exec("tables", true, "thing2.thingy", false); + + // put constraints on a table namespace + exec("constraint -tn thing4 -a org.apache.accumulo.examples.simple.constraints.NumericValueConstraint", true); + exec("createtable thing4.constrained", true); + exec("table thing4.constrained", true); + // should fail + exec("insert r cf cq abc", false); + exec("constraint -l", true, "NumericValueConstraint", true); + exec("constraint -tn thing4 -d 2"); + exec("sleep 1"); + exec("insert r cf cq abc", true); } private int countkeys(String table) throws IOException {