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 2013/12/05 00:58:57 UTC
[16/50] [abbrv] git commit: ACCUMULO-802 added displaying namespace
properties in the 'config' command
ACCUMULO-802 added displaying namespace properties in the 'config' command
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/9db79fc7
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/9db79fc7
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/9db79fc7
Branch: refs/heads/master
Commit: 9db79fc70e9a78a9761d0b3458a6f7225f0da682
Parents: 5bcd3d2
Author: Sean Hickey <ta...@gmail.com>
Authored: Fri Aug 9 09:19:16 2013 -0400
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Wed Dec 4 18:46:10 2013 -0500
----------------------------------------------------------------------
.../core/client/admin/TableOperationsImpl.java | 1 -
.../core/util/shell/commands/ConfigCommand.java | 30 +++++++++++++++++---
2 files changed, 26 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9db79fc7/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java b/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
index b1ab058..cfaa657 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
@@ -218,7 +218,6 @@ public class TableOperationsImpl extends TableOperationsHelper {
List<ByteBuffer> args = Arrays.asList(ByteBuffer.wrap(tableName.getBytes()), ByteBuffer.wrap(timeType.name().getBytes()));
- // Map<String,String> opts = IteratorUtil.generateInitialTableProperties(limitVersion);
Map<String,String> opts = new HashMap<String,String>();
String namespace = Tables.extractNamespace(tableName);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9db79fc7/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConfigCommand.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConfigCommand.java b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConfigCommand.java
index c2f93be..1e49c4d 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConfigCommand.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConfigCommand.java
@@ -30,6 +30,8 @@ import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.TableNamespaceNotFoundException;
import org.apache.accumulo.core.client.TableNotFoundException;
+import org.apache.accumulo.core.client.impl.TableNamespaces;
+import org.apache.accumulo.core.client.impl.Tables;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.core.security.ColumnVisibility;
@@ -46,7 +48,7 @@ import org.apache.commons.cli.Options;
public class ConfigCommand extends Command {
private Option tableOpt, deleteOpt, setOpt, filterOpt, disablePaginationOpt, outputFileOpt, tableNamespaceOpt;
- private int COL1 = 8, COL2 = 7;
+ private int COL1 = 10, COL2 = 7;
private ConsoleReader reader;
@Override
@@ -72,7 +74,7 @@ public class ConfigCommand extends Command {
}
final String tableNamespace = cl.getOptionValue(tableNamespaceOpt.getOpt());
if (tableNamespace != null && !shellState.getConnector().tableNamespaceOperations().exists(tableNamespace)) {
- throw new TableNotFoundException(null, tableName, null);
+ throw new TableNamespaceNotFoundException(null, tableNamespace, null);
}
if (cl.hasOption(deleteOpt.getOpt())) {
// delete property from table
@@ -149,6 +151,16 @@ public class ConfigCommand extends Command {
for (Entry<String,String> defaultEntry : AccumuloConfiguration.getDefaultConfiguration()) {
defaults.put(defaultEntry.getKey(), defaultEntry.getValue());
}
+
+ final TreeMap<String,String> namespaceConfig = new TreeMap<String,String>();
+ if (tableName != null) {
+ String n = TableNamespaces.getNamespaceName(shellState.getInstance(),
+ Tables.getNamespace(shellState.getInstance(), Tables.getTableId(shellState.getInstance(), tableName)));
+ for (Entry<String,String> e : shellState.getConnector().tableNamespaceOperations().getProperties(n)) {
+ namespaceConfig.put(e.getKey(), e.getValue());
+ }
+ }
+
Iterable<Entry<String,String>> acuconf = shellState.getConnector().instanceOperations().getSystemConfiguration().entrySet();
if (tableName != null) {
acuconf = shellState.getConnector().tableOperations().getProperties(tableName);
@@ -191,6 +203,7 @@ public class ConfigCommand extends Command {
String sysVal = systemConfig.get(key);
String curVal = propEntry.getValue();
String dfault = defaults.get(key);
+ String nspVal = namespaceConfig.get(key);
boolean printed = false;
if (dfault != null && key.toLowerCase().contains("password")) {
@@ -209,11 +222,20 @@ public class ConfigCommand extends Command {
printConfLine(output, "system", printed ? " @override" : key, sysVal == null ? "" : sysVal);
printed = true;
}
+
+ }
+ if (nspVal != null) {
+ if (!systemConfig.containsKey(key) || !sysVal.equals(nspVal)) {
+ printConfLine(output, "namespace", printed ? " @override" : key, nspVal == null ? "" : nspVal);
+ printed = true;
+ }
}
// show per-table value only if it is different (overridden)
- if ((tableName != null || tableNamespace != null) && !curVal.equals(sysVal)) {
+ if (tableName != null && !curVal.equals(nspVal)) {
printConfLine(output, "table", printed ? " @override" : key, curVal);
+ } else if (tableNamespace != null && !curVal.equals(sysVal)) {
+ printConfLine(output, "namespace", printed ? " @override" : key, curVal);
}
}
printConfFooter(output);
@@ -262,7 +284,7 @@ public class ConfigCommand extends Command {
disablePaginationOpt = new Option("np", "no-pagination", false, "disables pagination of output");
outputFileOpt = new Option("o", "output", true, "local file to write the scan output to");
tableNamespaceOpt = new Option(Shell.tableNamespaceOption, "table-namespace", true, "table namespace to display/set/delete properties for");
-
+
tableOpt.setArgName("table");
deleteOpt.setArgName("property");
setOpt.setArgName("property=value");