You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2013/11/21 21:09:23 UTC
[2/2] git commit: ACCUMULO-1009 moved ClientConfiguration into public
API and removed its usage of AccumuloConfiguration
ACCUMULO-1009 moved ClientConfiguration into public API and removed its usage of AccumuloConfiguration
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/5bd68ef9
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/5bd68ef9
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/5bd68ef9
Branch: refs/heads/1.6.0-SNAPSHOT
Commit: 5bd68ef9b751848a441cb56ca82a7e2aafdf1461
Parents: fe46a60
Author: Keith Turner <kt...@apache.org>
Authored: Thu Nov 21 15:03:03 2013 -0500
Committer: Keith Turner <kt...@apache.org>
Committed: Thu Nov 21 15:04:53 2013 -0500
----------------------------------------------------------------------
.../apache/accumulo/core/cli/ClientOpts.java | 4 +-
.../core/client/ClientConfiguration.java | 260 ++++++++++++++++
.../accumulo/core/client/ZooKeeperInstance.java | 19 +-
.../client/admin/InstanceOperationsImpl.java | 8 +-
.../core/client/admin/TableOperationsImpl.java | 6 +-
.../core/client/impl/ConditionalWriterImpl.java | 6 +-
.../accumulo/core/client/impl/MasterClient.java | 2 +-
.../core/client/impl/OfflineScanner.java | 4 +-
.../core/client/impl/ScannerIterator.java | 2 +-
.../accumulo/core/client/impl/ServerClient.java | 4 +-
.../client/impl/ServerConfigurationFactory.java | 30 --
.../client/impl/ServerConfigurationUtil.java | 63 ++++
.../impl/TabletServerBatchReaderIterator.java | 2 +-
.../client/impl/TabletServerBatchWriter.java | 6 +-
.../accumulo/core/client/impl/Writer.java | 2 +-
.../core/client/mapred/AbstractInputFormat.java | 2 +-
.../core/client/mapred/AccumuloInputFormat.java | 2 +-
.../mapred/AccumuloMultiTableInputFormat.java | 2 +-
.../client/mapred/AccumuloOutputFormat.java | 2 +-
.../client/mapred/AccumuloRowInputFormat.java | 2 +-
.../client/mapreduce/AbstractInputFormat.java | 2 +-
.../client/mapreduce/AccumuloInputFormat.java | 2 +-
.../AccumuloMultiTableInputFormat.java | 2 +-
.../client/mapreduce/AccumuloOutputFormat.java | 2 +-
.../mapreduce/AccumuloRowInputFormat.java | 2 +-
.../mapreduce/lib/util/ConfiguratorBase.java | 2 +-
.../accumulo/core/conf/ClientConfiguration.java | 310 -------------------
.../core/metadata/MetadataLocationObtainer.java | 8 +-
.../apache/accumulo/core/util/shell/Shell.java | 11 +-
.../core/util/shell/ShellOptionsJC.java | 4 +-
.../lib/util/ConfiguratorBaseTest.java | 4 +-
.../core/conf/ClientConfigurationTest.java | 3 +-
.../core/util/shell/ShellSetInstanceTest.java | 17 +-
.../examples/simple/filedata/FileDataQuery.java | 2 +-
.../simple/mapreduce/TokenFileWordCount.java | 2 +-
.../examples/simple/reservations/ARS.java | 2 +-
.../minicluster/MiniAccumuloCluster.java | 2 +-
.../minicluster/MiniAccumuloInstance.java | 2 +-
.../org/apache/accumulo/proxy/ProxyServer.java | 2 +-
.../accumulo/server/client/BulkImporter.java | 10 +-
.../accumulo/utils/metanalysis/IndexMeta.java | 2 +-
.../gc/GarbageCollectWriteAheadLogs.java | 4 +-
.../accumulo/gc/SimpleGarbageCollector.java | 14 +-
.../java/org/apache/accumulo/master/Master.java | 4 +-
.../apache/accumulo/test/IMMLGBenchmark.java | 2 +-
.../metadata/MetadataBatchScanTest.java | 2 +-
.../test/performance/thrift/NullTserver.java | 2 +-
.../apache/accumulo/test/randomwalk/State.java | 2 +-
.../test/randomwalk/multitable/CopyTool.java | 2 +-
.../randomwalk/sequential/MapRedVerifyTool.java | 2 +-
.../accumulo/test/scalability/ScaleTest.java | 2 +-
.../test/MultiTableBatchWriterTest.java | 2 +-
52 files changed, 422 insertions(+), 437 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java b/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java
index 1d26a00..c43b121 100644
--- a/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java
+++ b/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java
@@ -24,9 +24,11 @@ import java.util.UUID;
import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.Instance;
import org.apache.accumulo.core.client.ZooKeeperInstance;
+import org.apache.accumulo.core.client.ClientConfiguration.ClientProperty;
import org.apache.accumulo.core.client.impl.thrift.SecurityErrorCode;
import org.apache.accumulo.core.client.mapreduce.AccumuloInputFormat;
import org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat;
@@ -35,8 +37,6 @@ import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken.Properties;
import org.apache.accumulo.core.client.security.tokens.PasswordToken;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
-import org.apache.accumulo.core.conf.ClientConfiguration;
-import org.apache.accumulo.core.conf.ClientConfiguration.ClientProperty;
import org.apache.accumulo.core.conf.DefaultConfiguration;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.core.security.Authorizations;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/ClientConfiguration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/ClientConfiguration.java b/core/src/main/java/org/apache/accumulo/core/client/ClientConfiguration.java
new file mode 100644
index 0000000..aa1c6fc
--- /dev/null
+++ b/core/src/main/java/org/apache/accumulo/core/client/ClientConfiguration.java
@@ -0,0 +1,260 @@
+/*
+ * 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.core.client;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.UUID;
+
+import org.apache.accumulo.core.conf.Property;
+import org.apache.accumulo.core.conf.PropertyType;
+import org.apache.accumulo.core.util.ArgumentChecker;
+import org.apache.commons.configuration.CompositeConfiguration;
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.PropertiesConfiguration;
+
+/**
+ * Contains a list of property keys recognized by the Accumulo client and convenience methods for setting them.
+ *
+ * @since 1.6.0
+ */
+public class ClientConfiguration extends CompositeConfiguration {
+ public static final String USER_ACCUMULO_DIR_NAME = ".accumulo";
+ public static final String USER_CONF_FILENAME = "config";
+ public static final String GLOBAL_CONF_FILENAME = "client.conf";
+
+ public enum ClientProperty {
+ RPC_SSL_TRUSTSTORE_PATH(Property.RPC_SSL_TRUSTSTORE_PATH),
+ RPC_SSL_TRUSTSTORE_PASSWORD(Property.RPC_SSL_TRUSTSTORE_PASSWORD),
+ RPC_SSL_TRUSTSTORE_TYPE(Property.RPC_SSL_TRUSTSTORE_TYPE),
+ RPC_SSL_KEYSTORE_PATH(Property.RPC_SSL_KEYSTORE_PATH),
+ RPC_SSL_KEYSTORE_PASSWORD(Property.RPC_SSL_KEYSTORE_PASSWORD),
+ RPC_SSL_KEYSTORE_TYPE(Property.RPC_SSL_KEYSTORE_TYPE),
+ RPC_USE_JSSE(Property.RPC_USE_JSSE),
+ INSTANCE_RPC_SSL_CLIENT_AUTH(Property.INSTANCE_RPC_SSL_CLIENT_AUTH),
+ INSTANCE_RPC_SSL_ENABLED(Property.INSTANCE_RPC_SSL_ENABLED),
+ INSTANCE_ZK_HOST(Property.INSTANCE_ZK_HOST),
+ INSTANCE_ZK_TIMEOUT(Property.INSTANCE_ZK_TIMEOUT),
+ INSTANCE_NAME("client.instance.name", null, PropertyType.STRING, "Name of Accumulo instance to connect to"),
+ INSTANCE_ID("client.instance.id", null, PropertyType.STRING, "UUID of Accumulo instance to connect to"),
+ ;
+
+ private String key;
+ private String defaultValue;
+ private PropertyType type;
+ private String description;
+
+ private Property accumuloProperty = null;
+
+ private ClientProperty(Property prop) {
+ this(prop.getKey(), prop.getDefaultValue(), prop.getType(), prop.getDescription());
+ accumuloProperty = prop;
+ }
+
+ private ClientProperty(String key, String defaultValue, PropertyType type, String description) {
+ this.key = key;
+ this.defaultValue = defaultValue;
+ this.type = type;
+ this.description = description;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public String getDefaultValue() {
+ return defaultValue;
+ }
+
+ public PropertyType getType() {
+ return type;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public Property getAccumuloProperty() {
+ return accumuloProperty;
+ }
+
+ public static ClientProperty getPropertyByKey(String key) {
+ for (ClientProperty prop : ClientProperty.values())
+ if (prop.getKey().equals(key))
+ return prop;
+ return null;
+ }
+ };
+
+ public ClientConfiguration(List<? extends Configuration> configs) {
+ super(configs);
+ }
+
+ public ClientConfiguration(Configuration... configs) {
+ this(Arrays.asList(configs));
+ }
+
+ public static ClientConfiguration loadDefault() {
+ return loadFromSearchPath(getDefaultSearchPath());
+ }
+
+ public static ClientConfiguration loadDefault(String overridePropertiesFilename) throws FileNotFoundException, ConfigurationException {
+ if (overridePropertiesFilename == null)
+ return loadDefault();
+ else
+ return new ClientConfiguration(new PropertiesConfiguration(overridePropertiesFilename));
+ }
+
+ private static ClientConfiguration loadFromSearchPath(List<String> paths) {
+ try {
+ List<Configuration> configs = new LinkedList<Configuration>();
+ for (String path : paths) {
+ File conf = new File(path);
+ if (conf.canRead()) {
+ configs.add(new PropertiesConfiguration(conf));
+ }
+ }
+ return new ClientConfiguration(configs);
+ } catch (ConfigurationException e) {
+ throw new IllegalStateException("Error loading client configuration", e);
+ }
+ }
+
+ public static ClientConfiguration deserialize(String serializedConfig) {
+ PropertiesConfiguration propConfig = new PropertiesConfiguration();
+ try {
+ propConfig.load(new StringReader(serializedConfig));
+ } catch (ConfigurationException e) {
+ throw new IllegalArgumentException("Error deserializing client configuration: " + serializedConfig, e);
+ }
+ return new ClientConfiguration(propConfig);
+ }
+
+ private static List<String> getDefaultSearchPath() {
+ String clientConfSearchPath = System.getenv("ACCUMULO_CLIENT_CONF_PATH");
+ List<String> clientConfPaths;
+ if (clientConfSearchPath != null) {
+ clientConfPaths = Arrays.asList(clientConfSearchPath.split(File.pathSeparator));
+ } else {
+ // if $ACCUMULO_CLIENT_CONF_PATH env isn't set, priority from top to bottom is:
+ // ~/.accumulo/config
+ // $ACCUMULO_CONF_DIR/client.conf -OR- $ACCUMULO_HOME/conf/client.conf (depending on whether $ACCUMULO_CONF_DIR is set)
+ // /etc/accumulo/client.conf
+ clientConfPaths = new LinkedList<String>();
+ clientConfPaths.add(System.getProperty("user.home") + File.separator + USER_ACCUMULO_DIR_NAME + File.separator + USER_CONF_FILENAME);
+ if (System.getenv("ACCUMULO_CONF_DIR") != null) {
+ clientConfPaths.add(System.getenv("ACCUMULO_CONF_DIR") + File.separator + GLOBAL_CONF_FILENAME);
+ } else if (System.getenv("ACCUMULO_HOME") != null) {
+ clientConfPaths.add(System.getenv("ACCUMULO_HOME") + File.separator + "conf" + File.separator + GLOBAL_CONF_FILENAME);
+ }
+ clientConfPaths.add("/etc/accumulo/" + GLOBAL_CONF_FILENAME);
+ }
+ return clientConfPaths;
+ }
+
+ public String serialize() {
+ PropertiesConfiguration propConfig = new PropertiesConfiguration();
+ propConfig.copy(this);
+ StringWriter writer = new StringWriter();
+ try {
+ propConfig.save(writer);
+ } catch (ConfigurationException e) {
+ // this should never happen
+ throw new IllegalStateException(e);
+ }
+ return writer.toString();
+ }
+
+ public String get(ClientProperty prop) {
+ if (this.containsKey(prop.getKey()))
+ return this.getString(prop.getKey());
+ else
+ return prop.getDefaultValue();
+ }
+
+ public void setProperty(ClientProperty prop, String value) {
+ this.setProperty(prop.getKey(), value);
+ }
+
+ public ClientConfiguration with(ClientProperty prop, String value) {
+ this.setProperty(prop.getKey(), value);
+ return this;
+ }
+
+ public ClientConfiguration withInstance(String instanceName) {
+ ArgumentChecker.notNull(instanceName);
+ return with(ClientProperty.INSTANCE_NAME, instanceName);
+ }
+
+ public ClientConfiguration withInstance(UUID instanceId) {
+ ArgumentChecker.notNull(instanceId);
+ return with(ClientProperty.INSTANCE_ID, instanceId.toString());
+ }
+
+ public ClientConfiguration withZkHosts(String zooKeepers) {
+ ArgumentChecker.notNull(zooKeepers);
+ return with(ClientProperty.INSTANCE_ZK_HOST, zooKeepers);
+ }
+
+ public ClientConfiguration withZkTimeout(int timeout) {
+ return with(ClientProperty.INSTANCE_ZK_TIMEOUT, String.valueOf(timeout));
+ }
+
+ public ClientConfiguration withSsl(boolean sslEnabled) {
+ return withSsl(sslEnabled, false);
+ }
+
+ public ClientConfiguration withSsl(boolean sslEnabled, boolean useJsseConfig) {
+ return with(ClientProperty.INSTANCE_RPC_SSL_ENABLED, String.valueOf(sslEnabled))
+ .with(ClientProperty.RPC_USE_JSSE, String.valueOf(useJsseConfig));
+ }
+
+ public ClientConfiguration withTruststore(String path) {
+ return withTruststore(path, null, null);
+ }
+
+ public ClientConfiguration withTruststore(String path, String password, String type) {
+ ArgumentChecker.notNull(path);
+ setProperty(ClientProperty.RPC_SSL_TRUSTSTORE_PATH, path);
+ if (password != null)
+ setProperty(ClientProperty.RPC_SSL_TRUSTSTORE_PASSWORD, password);
+ if (type != null)
+ setProperty(ClientProperty.RPC_SSL_TRUSTSTORE_TYPE, type);
+ return this;
+ }
+
+ public ClientConfiguration withKeystore(String path) {
+ return withKeystore(path, null, null);
+ }
+
+ public ClientConfiguration withKeystore(String path, String password, String type) {
+ ArgumentChecker.notNull(path);
+ setProperty(ClientProperty.INSTANCE_RPC_SSL_CLIENT_AUTH, "true");
+ setProperty(ClientProperty.RPC_SSL_KEYSTORE_PATH, path);
+ if (password != null)
+ setProperty(ClientProperty.RPC_SSL_KEYSTORE_PASSWORD, password);
+ if (type != null)
+ setProperty(ClientProperty.RPC_SSL_KEYSTORE_TYPE, type);
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java b/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java
index fb4ab79..caf6864 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java
@@ -23,12 +23,13 @@ import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.accumulo.core.Constants;
+import org.apache.accumulo.core.client.ClientConfiguration.ClientProperty;
import org.apache.accumulo.core.client.impl.ConnectorImpl;
+import org.apache.accumulo.core.client.impl.ServerConfigurationUtil;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.client.security.tokens.PasswordToken;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
-import org.apache.accumulo.core.conf.ClientConfiguration;
-import org.apache.accumulo.core.conf.ClientConfiguration.ClientProperty;
+import org.apache.accumulo.core.conf.DefaultConfiguration;
import org.apache.accumulo.core.metadata.RootTable;
import org.apache.accumulo.core.security.Credentials;
import org.apache.accumulo.core.util.ArgumentChecker;
@@ -81,7 +82,7 @@ public class ZooKeeperInstance implements Instance {
* The name of specific accumulo instance. This is set at initialization time.
* @param zooKeepers
* A comma separated list of zoo keeper server locations. Each location can contain an optional port, of the format host:port.
- * @deprecated since 1.6.0; Use {@link #ZooKeeperInstance(ClientConfiguration)} instead.
+ * @deprecated since 1.6.0; Use {@link #ZooKeeperInstance(Configuration)} instead.
*/
@Deprecated
public ZooKeeperInstance(String instanceName, String zooKeepers) {
@@ -96,7 +97,7 @@ public class ZooKeeperInstance implements Instance {
* A comma separated list of zoo keeper server locations. Each location can contain an optional port, of the format host:port.
* @param sessionTimeout
* zoo keeper session time out in milliseconds.
- * @deprecated since 1.6.0; Use {@link #ZooKeeperInstance(ClientConfiguration)} instead.
+ * @deprecated since 1.6.0; Use {@link #ZooKeeperInstance(Configuration)} instead.
*/
@Deprecated
public ZooKeeperInstance(String instanceName, String zooKeepers, int sessionTimeout) {
@@ -109,7 +110,7 @@ public class ZooKeeperInstance implements Instance {
* The UUID that identifies the accumulo instance you want to connect to.
* @param zooKeepers
* A comma separated list of zoo keeper server locations. Each location can contain an optional port, of the format host:port.
- * @deprecated since 1.6.0; Use {@link #ZooKeeperInstance(ClientConfiguration)} instead.
+ * @deprecated since 1.6.0; Use {@link #ZooKeeperInstance(Configuration)} instead.
*/
@Deprecated
public ZooKeeperInstance(UUID instanceId, String zooKeepers) {
@@ -124,7 +125,7 @@ public class ZooKeeperInstance implements Instance {
* A comma separated list of zoo keeper server locations. Each location can contain an optional port, of the format host:port.
* @param sessionTimeout
* zoo keeper session time out in milliseconds.
- * @deprecated since 1.6.0; Use {@link #ZooKeeperInstance(ClientConfiguration)} instead.
+ * @deprecated since 1.6.0; Use {@link #ZooKeeperInstance(Configuration)} instead.
*/
@Deprecated
public ZooKeeperInstance(UUID instanceId, String zooKeepers, int sessionTimeout) {
@@ -264,11 +265,9 @@ public class ZooKeeperInstance implements Instance {
}
@Override
+ @Deprecated
public AccumuloConfiguration getConfiguration() {
- if (accumuloConf == null) {
- accumuloConf = clientConf.getAccumuloConfiguration();
- }
- return accumuloConf;
+ return ServerConfigurationUtil.convertClientConfig(accumuloConf == null ? DefaultConfiguration.getInstance() : accumuloConf, clientConf);
}
@Override
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java b/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
index 333201e..85bc1a3 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
@@ -30,7 +30,7 @@ import org.apache.accumulo.core.client.impl.ClientExec;
import org.apache.accumulo.core.client.impl.ClientExecReturn;
import org.apache.accumulo.core.client.impl.MasterClient;
import org.apache.accumulo.core.client.impl.ServerClient;
-import org.apache.accumulo.core.client.impl.ServerConfigurationFactory;
+import org.apache.accumulo.core.client.impl.ServerConfigurationUtil;
import org.apache.accumulo.core.client.impl.thrift.ClientService;
import org.apache.accumulo.core.client.impl.thrift.ConfigurationType;
import org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException;
@@ -132,7 +132,7 @@ public class InstanceOperationsImpl implements InstanceOperations {
public List<ActiveScan> getActiveScans(String tserver) throws AccumuloException, AccumuloSecurityException {
Client client = null;
try {
- client = ThriftUtil.getTServerClient(tserver, ServerConfigurationFactory.getConfiguration(instance));
+ client = ThriftUtil.getTServerClient(tserver, ServerConfigurationUtil.getConfiguration(instance));
List<ActiveScan> as = new ArrayList<ActiveScan>();
for (org.apache.accumulo.core.tabletserver.thrift.ActiveScan activeScan : client.getActiveScans(Tracer.traceInfo(), credentials.toThrift(instance))) {
@@ -169,7 +169,7 @@ public class InstanceOperationsImpl implements InstanceOperations {
public List<ActiveCompaction> getActiveCompactions(String tserver) throws AccumuloException, AccumuloSecurityException {
Client client = null;
try {
- client = ThriftUtil.getTServerClient(tserver, ServerConfigurationFactory.getConfiguration(instance));
+ client = ThriftUtil.getTServerClient(tserver, ServerConfigurationUtil.getConfiguration(instance));
List<ActiveCompaction> as = new ArrayList<ActiveCompaction>();
for (org.apache.accumulo.core.tabletserver.thrift.ActiveCompaction activeCompaction : client.getActiveCompactions(Tracer.traceInfo(),
@@ -193,7 +193,7 @@ public class InstanceOperationsImpl implements InstanceOperations {
public void ping(String tserver) throws AccumuloException {
TTransport transport = null;
try {
- transport = ThriftUtil.createTransport(AddressUtil.parseAddress(tserver), ServerConfigurationFactory.getConfiguration(instance));
+ transport = ThriftUtil.createTransport(AddressUtil.parseAddress(tserver), ServerConfigurationUtil.getConfiguration(instance));
TabletClientService.Client client = ThriftUtil.createClient(new TabletClientService.Client.Factory(), transport);
client.getTabletServerStatus(Tracer.traceInfo(), credentials.toThrift(instance));
} catch (TTransportException e) {
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/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 a85772d..a779ae4 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
@@ -61,7 +61,7 @@ import org.apache.accumulo.core.client.impl.ClientExec;
import org.apache.accumulo.core.client.impl.ClientExecReturn;
import org.apache.accumulo.core.client.impl.MasterClient;
import org.apache.accumulo.core.client.impl.ServerClient;
-import org.apache.accumulo.core.client.impl.ServerConfigurationFactory;
+import org.apache.accumulo.core.client.impl.ServerConfigurationUtil;
import org.apache.accumulo.core.client.impl.Tables;
import org.apache.accumulo.core.client.impl.TabletLocator;
import org.apache.accumulo.core.client.impl.TabletLocator.TabletLocation;
@@ -470,7 +470,7 @@ public class TableOperationsImpl extends TableOperationsHelper {
}
try {
- TabletClientService.Client client = ThriftUtil.getTServerClient(tl.tablet_location, ServerConfigurationFactory.getConfiguration(instance));
+ TabletClientService.Client client = ThriftUtil.getTServerClient(tl.tablet_location, ServerConfigurationUtil.getConfiguration(instance));
try {
OpTimer opTimer = null;
if (log.isTraceEnabled())
@@ -1113,7 +1113,7 @@ public class TableOperationsImpl extends TableOperationsHelper {
ret = new Path(dir);
fs = ret.getFileSystem(CachedConfiguration.getInstance());
} else {
- fs = FileUtil.getFileSystem(CachedConfiguration.getInstance(), ServerConfigurationFactory.getConfiguration(instance));
+ fs = FileUtil.getFileSystem(CachedConfiguration.getInstance(), ServerConfigurationUtil.getConfiguration(instance));
ret = fs.makeQualified(new Path(dir));
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/impl/ConditionalWriterImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/ConditionalWriterImpl.java b/core/src/main/java/org/apache/accumulo/core/client/impl/ConditionalWriterImpl.java
index 1d35af4..cd89adb 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/ConditionalWriterImpl.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/ConditionalWriterImpl.java
@@ -536,10 +536,10 @@ class ConditionalWriterImpl implements ConditionalWriter {
private TabletClientService.Iface getClient(String location) throws TTransportException {
TabletClientService.Iface client;
- if (timeout < ServerConfigurationFactory.getConfiguration(instance).getTimeInMillis(Property.GENERAL_RPC_TIMEOUT))
- client = ThriftUtil.getTServerClient(location, ServerConfigurationFactory.getConfiguration(instance), timeout);
+ if (timeout < ServerConfigurationUtil.getConfiguration(instance).getTimeInMillis(Property.GENERAL_RPC_TIMEOUT))
+ client = ThriftUtil.getTServerClient(location, ServerConfigurationUtil.getConfiguration(instance), timeout);
else
- client = ThriftUtil.getTServerClient(location, ServerConfigurationFactory.getConfiguration(instance));
+ client = ThriftUtil.getTServerClient(location, ServerConfigurationUtil.getConfiguration(instance));
return client;
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java b/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
index 4cf6e06..6bef3a7 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
@@ -61,7 +61,7 @@ public class MasterClient {
try {
// Master requests can take a long time: don't ever time out
- MasterClientService.Client client = ThriftUtil.getClientNoTimeout(new MasterClientService.Client.Factory(), master, ServerConfigurationFactory.getConfiguration(instance));
+ MasterClientService.Client client = ThriftUtil.getClientNoTimeout(new MasterClientService.Client.Factory(), master, ServerConfigurationUtil.getConfiguration(instance));
return client;
} catch (TTransportException tte) {
if (tte.getCause().getClass().equals(UnknownHostException.class)) {
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java b/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
index 5e92d8b..6e08710 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
@@ -227,7 +227,7 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
if (currentExtent != null && !extent.isPreviousExtent(currentExtent))
throw new AccumuloException(" " + currentExtent + " is not previous extent " + extent);
- String tablesDir = ServerConfigurationFactory.getConfiguration(instance).get(Property.INSTANCE_DFS_DIR) + "/tables";
+ String tablesDir = ServerConfigurationUtil.getConfiguration(instance).get(Property.INSTANCE_DFS_DIR) + "/tables";
List<String> absFiles = new ArrayList<String>();
for (String relPath : relFiles) {
@@ -296,7 +296,7 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
Configuration conf = CachedConfiguration.getInstance();
- FileSystem defaultFs = FileUtil.getFileSystem(conf, ServerConfigurationFactory.getConfiguration(instance));
+ FileSystem defaultFs = FileUtil.getFileSystem(conf, ServerConfigurationUtil.getConfiguration(instance));
for (SortedKeyValueIterator<Key,Value> reader : readers) {
((FileSKVIterator) reader).close();
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java b/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java
index 677a751..5ea3662 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java
@@ -81,7 +81,7 @@ public class ScannerIterator implements Iterator<Entry<Key,Value>> {
try {
while (true) {
- List<KeyValue> currentBatch = ThriftScanner.scan(instance, credentials, scanState, timeOut, ServerConfigurationFactory.getConfiguration(instance));
+ List<KeyValue> currentBatch = ThriftScanner.scan(instance, credentials, scanState, timeOut, ServerConfigurationUtil.getConfiguration(instance));
if (currentBatch == null) {
synchQ.add(EMPTY_LIST);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/impl/ServerClient.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/ServerClient.java b/core/src/main/java/org/apache/accumulo/core/client/impl/ServerClient.java
index 89956db..4eb845d 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/ServerClient.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/ServerClient.java
@@ -125,7 +125,7 @@ public class ServerClient {
}
public static Pair<String,ClientService.Client> getConnection(Instance instance, boolean preferCachedConnections) throws TTransportException {
- AccumuloConfiguration conf = ServerConfigurationFactory.getConfiguration(instance);
+ AccumuloConfiguration conf = ServerConfigurationUtil.getConfiguration(instance);
return getConnection(instance, preferCachedConnections, conf.getTimeInMillis(Property.GENERAL_RPC_TIMEOUT));
}
@@ -142,7 +142,7 @@ public class ServerClient {
if (data != null && !new String(data).equals("master"))
servers.add(new ThriftTransportKey(
new ServerServices(new String(data)).getAddressString(Service.TSERV_CLIENT),
- rpcTimeout, SslConnectionParams.forClient(ServerConfigurationFactory.getConfiguration(instance))));
+ rpcTimeout, SslConnectionParams.forClient(ServerConfigurationUtil.getConfiguration(instance))));
}
boolean opened = false;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/impl/ServerConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/ServerConfigurationFactory.java b/core/src/main/java/org/apache/accumulo/core/client/impl/ServerConfigurationFactory.java
deleted file mode 100644
index 2c3427a..0000000
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/ServerConfigurationFactory.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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.core.client.impl;
-
-import org.apache.accumulo.core.client.Instance;
-import org.apache.accumulo.core.conf.AccumuloConfiguration;
-
-/**
- * All client side code that needs a server side configuration object should obtain it from here.
- */
-public class ServerConfigurationFactory {
- @SuppressWarnings("deprecation")
- public static AccumuloConfiguration getConfiguration(Instance instance) {
- return instance.getConfiguration();
- }
-}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/impl/ServerConfigurationUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/ServerConfigurationUtil.java b/core/src/main/java/org/apache/accumulo/core/client/impl/ServerConfigurationUtil.java
new file mode 100644
index 0000000..8021f76
--- /dev/null
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/ServerConfigurationUtil.java
@@ -0,0 +1,63 @@
+/*
+ * 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.core.client.impl;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import org.apache.accumulo.core.client.Instance;
+import org.apache.accumulo.core.conf.AccumuloConfiguration;
+import org.apache.accumulo.core.conf.Property;
+import org.apache.commons.configuration.Configuration;
+
+/**
+ * All client side code that needs a server side configuration object should obtain it from here.
+ */
+public class ServerConfigurationUtil {
+ @SuppressWarnings("deprecation")
+ public static AccumuloConfiguration getConfiguration(Instance instance) {
+ return instance.getConfiguration();
+ }
+
+ public static AccumuloConfiguration convertClientConfig(final AccumuloConfiguration base, final Configuration config) {
+
+ return new AccumuloConfiguration() {
+ @Override
+ public String get(Property property) {
+ if (config.containsKey(property.getKey()))
+ return config.getString(property.getKey());
+ else
+ return base.get(property);
+ }
+
+ @Override
+ public void getProperties(Map<String,String> props, PropertyFilter filter) {
+
+ base.getProperties(props, filter);
+
+ @SuppressWarnings("unchecked")
+ Iterator<String> keyIter = config.getKeys();
+ while (keyIter.hasNext()) {
+ String key = keyIter.next();
+ if (filter.accept(key))
+ props.put(key, config.getString(key));
+ }
+ }
+ };
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java b/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
index 9961f8f..d82056b 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
@@ -362,7 +362,7 @@ public class TabletServerBatchReaderIterator implements Iterator<Entry<Key,Value
timeoutTrackers.put(tsLocation, timeoutTracker);
}
doLookup(instance, credentials, tsLocation, tabletsRanges, tsFailures, unscanned, receiver, columns, options, authorizations,
- ServerConfigurationFactory.getConfiguration(instance), timeoutTracker);
+ ServerConfigurationUtil.getConfiguration(instance), timeoutTracker);
if (tsFailures.size() > 0) {
locator.invalidateCache(tsFailures.keySet());
synchronized (failures) {
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java b/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java
index b79ae39..8a51657 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java
@@ -855,10 +855,10 @@ public class TabletServerBatchWriter {
try {
TabletClientService.Iface client;
- if (timeoutTracker.getTimeOut() < ServerConfigurationFactory.getConfiguration(instance).getTimeInMillis(Property.GENERAL_RPC_TIMEOUT))
- client = ThriftUtil.getTServerClient(location, ServerConfigurationFactory.getConfiguration(instance), timeoutTracker.getTimeOut());
+ if (timeoutTracker.getTimeOut() < ServerConfigurationUtil.getConfiguration(instance).getTimeInMillis(Property.GENERAL_RPC_TIMEOUT))
+ client = ThriftUtil.getTServerClient(location, ServerConfigurationUtil.getConfiguration(instance), timeoutTracker.getTimeOut());
else
- client = ThriftUtil.getTServerClient(location, ServerConfigurationFactory.getConfiguration(instance));
+ client = ThriftUtil.getTServerClient(location, ServerConfigurationUtil.getConfiguration(instance));
try {
MutationSet allFailures = new MutationSet();
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java b/core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java
index e253024..72a050a 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java
@@ -93,7 +93,7 @@ public class Writer {
}
try {
- updateServer(instance, m, tabLoc.tablet_extent, tabLoc.tablet_location, credentials, ServerConfigurationFactory.getConfiguration(instance));
+ updateServer(instance, m, tabLoc.tablet_extent, tabLoc.tablet_location, credentials, ServerConfigurationUtil.getConfiguration(instance));
return;
} catch (NotServingTabletException e) {
log.trace("Not serving tablet, server = " + tabLoc.tablet_location);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
index 53ac4a1..c0ef0b5 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
@@ -27,6 +27,7 @@ import java.util.Map;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.ClientSideIteratorScanner;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.Instance;
@@ -43,7 +44,6 @@ import org.apache.accumulo.core.client.mapreduce.InputTableConfig;
import org.apache.accumulo.core.client.mapreduce.lib.util.InputConfigurator;
import org.apache.accumulo.core.client.mock.MockInstance;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.KeyExtent;
import org.apache.accumulo.core.data.Range;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormat.java
index ffd74a5..917b71d 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormat.java
@@ -19,8 +19,8 @@ package org.apache.accumulo.core.client.mapred;
import java.io.IOException;
import java.util.Map.Entry;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.security.Authorizations;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormat.java
index f6eb294..2ef9931 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormat.java
@@ -19,9 +19,9 @@ package org.apache.accumulo.core.client.mapred;
import java.io.IOException;
import java.util.Map;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.mapreduce.InputTableConfig;
import org.apache.accumulo.core.client.mapreduce.lib.util.InputConfigurator;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.util.format.DefaultFormatter;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
index eae6780..02512a4 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
@@ -26,6 +26,7 @@ import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.BatchWriter;
import org.apache.accumulo.core.client.BatchWriterConfig;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.Instance;
import org.apache.accumulo.core.client.MultiTableBatchWriter;
@@ -38,7 +39,6 @@ import org.apache.accumulo.core.client.mock.MockInstance;
import org.apache.accumulo.core.client.security.SecurityErrorCode;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken.AuthenticationTokenSerializer;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.ColumnUpdate;
import org.apache.accumulo.core.data.KeyExtent;
import org.apache.accumulo.core.data.Mutation;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloRowInputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloRowInputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloRowInputFormat.java
index 35ce7c7..673c5b8 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloRowInputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloRowInputFormat.java
@@ -19,9 +19,9 @@ package org.apache.accumulo.core.client.mapred;
import java.io.IOException;
import java.util.Map.Entry;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.RowIterator;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.security.Authorizations;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
index 9d8024e..5c2777d 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
@@ -31,6 +31,7 @@ import java.util.Map;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.ClientSideIteratorScanner;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.Instance;
@@ -46,7 +47,6 @@ import org.apache.accumulo.core.client.impl.TabletLocator;
import org.apache.accumulo.core.client.mapreduce.lib.util.InputConfigurator;
import org.apache.accumulo.core.client.mock.MockInstance;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.ByteSequence;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.KeyExtent;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormat.java
index 0539c93..9a339be 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormat.java
@@ -19,8 +19,8 @@ package org.apache.accumulo.core.client.mapreduce;
import java.io.IOException;
import java.util.Map.Entry;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.security.Authorizations;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java
index e59abae..357bf38 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java
@@ -22,11 +22,11 @@ import java.io.IOException;
import java.util.List;
import java.util.Map;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.IteratorSetting;
import org.apache.accumulo.core.client.Scanner;
import org.apache.accumulo.core.client.mapreduce.lib.util.InputConfigurator;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.security.Authorizations;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
index afbedca..0c924b1 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
@@ -26,6 +26,7 @@ import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.BatchWriter;
import org.apache.accumulo.core.client.BatchWriterConfig;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.Instance;
import org.apache.accumulo.core.client.MultiTableBatchWriter;
@@ -38,7 +39,6 @@ import org.apache.accumulo.core.client.mock.MockInstance;
import org.apache.accumulo.core.client.security.SecurityErrorCode;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken.AuthenticationTokenSerializer;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.ColumnUpdate;
import org.apache.accumulo.core.data.KeyExtent;
import org.apache.accumulo.core.data.Mutation;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormat.java
index 4734eda..37caf15 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormat.java
@@ -19,9 +19,9 @@ package org.apache.accumulo.core.client.mapreduce;
import java.io.IOException;
import java.util.Map.Entry;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.RowIterator;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.security.Authorizations;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/util/ConfiguratorBase.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/util/ConfiguratorBase.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/util/ConfiguratorBase.java
index 9189150..0fbba98 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/util/ConfiguratorBase.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/util/ConfiguratorBase.java
@@ -22,12 +22,12 @@ import java.net.URISyntaxException;
import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloSecurityException;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.Instance;
import org.apache.accumulo.core.client.ZooKeeperInstance;
import org.apache.accumulo.core.client.mock.MockInstance;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken.AuthenticationTokenSerializer;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.security.Credentials;
import org.apache.accumulo.core.util.ArgumentChecker;
import org.apache.commons.codec.binary.Base64;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/conf/ClientConfiguration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/ClientConfiguration.java b/core/src/main/java/org/apache/accumulo/core/conf/ClientConfiguration.java
deleted file mode 100644
index 5bb95ae..0000000
--- a/core/src/main/java/org/apache/accumulo/core/conf/ClientConfiguration.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * 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.core.conf;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.TreeMap;
-import java.util.UUID;
-
-import org.apache.accumulo.core.util.ArgumentChecker;
-import org.apache.commons.configuration.CompositeConfiguration;
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.MapConfiguration;
-import org.apache.commons.configuration.PropertiesConfiguration;
-
-/**
- * Contains a list of property keys recognized by the Accumulo client and convenience methods for setting them.
- */
-public class ClientConfiguration extends CompositeConfiguration {
- public static final String USER_ACCUMULO_DIR_NAME = ".accumulo";
- public static final String USER_CONF_FILENAME = "config";
- public static final String GLOBAL_CONF_FILENAME = "client.conf";
-
- public enum ClientProperty {
- RPC_SSL_TRUSTSTORE_PATH(Property.RPC_SSL_TRUSTSTORE_PATH),
- RPC_SSL_TRUSTSTORE_PASSWORD(Property.RPC_SSL_TRUSTSTORE_PASSWORD),
- RPC_SSL_TRUSTSTORE_TYPE(Property.RPC_SSL_TRUSTSTORE_TYPE),
- RPC_SSL_KEYSTORE_PATH(Property.RPC_SSL_KEYSTORE_PATH),
- RPC_SSL_KEYSTORE_PASSWORD(Property.RPC_SSL_KEYSTORE_PASSWORD),
- RPC_SSL_KEYSTORE_TYPE(Property.RPC_SSL_KEYSTORE_TYPE),
- RPC_USE_JSSE(Property.RPC_USE_JSSE),
- INSTANCE_RPC_SSL_CLIENT_AUTH(Property.INSTANCE_RPC_SSL_CLIENT_AUTH),
- INSTANCE_RPC_SSL_ENABLED(Property.INSTANCE_RPC_SSL_ENABLED),
- INSTANCE_ZK_HOST(Property.INSTANCE_ZK_HOST),
- INSTANCE_ZK_TIMEOUT(Property.INSTANCE_ZK_TIMEOUT),
- INSTANCE_NAME("client.instance.name", null, PropertyType.STRING, "Name of Accumulo instance to connect to"),
- INSTANCE_ID("client.instance.id", null, PropertyType.STRING, "UUID of Accumulo instance to connect to"),
- ;
-
- private String key;
- private String defaultValue;
- private PropertyType type;
- private String description;
-
- private Property accumuloProperty = null;
-
- private ClientProperty(Property prop) {
- this(prop.getKey(), prop.getDefaultValue(), prop.getType(), prop.getDescription());
- accumuloProperty = prop;
- }
-
- private ClientProperty(String key, String defaultValue, PropertyType type, String description) {
- this.key = key;
- this.defaultValue = defaultValue;
- this.type = type;
- this.description = description;
- }
-
- public String getKey() {
- return key;
- }
-
- public String getDefaultValue() {
- return defaultValue;
- }
-
- public PropertyType getType() {
- return type;
- }
-
- public String getDescription() {
- return description;
- }
-
- public Property getAccumuloProperty() {
- return accumuloProperty;
- }
-
- public static ClientProperty getPropertyByKey(String key) {
- for (ClientProperty prop : ClientProperty.values())
- if (prop.getKey().equals(key))
- return prop;
- return null;
- }
- };
-
- public ClientConfiguration(List<? extends Configuration> configs) {
- super(configs);
- }
-
- public ClientConfiguration(Configuration... configs) {
- this(Arrays.asList(configs));
- }
-
- public static ClientConfiguration loadDefault() {
- return loadFromSearchPath(getDefaultSearchPath());
- }
-
- public static ClientConfiguration loadDefault(String overridePropertiesFilename) throws FileNotFoundException, ConfigurationException {
- if (overridePropertiesFilename == null)
- return loadDefault();
- else
- return new ClientConfiguration(new PropertiesConfiguration(overridePropertiesFilename));
- }
-
- private static ClientConfiguration loadFromSearchPath(List<String> paths) {
- try {
- List<Configuration> configs = new LinkedList<Configuration>();
- for (String path : paths) {
- File conf = new File(path);
- if (conf.canRead()) {
- configs.add(new PropertiesConfiguration(conf));
- }
- }
- return new ClientConfiguration(configs);
- } catch (ConfigurationException e) {
- throw new IllegalStateException("Error loading client configuration", e);
- }
- }
-
- public static ClientConfiguration deserialize(String serializedConfig) {
- PropertiesConfiguration propConfig = new PropertiesConfiguration();
- try {
- propConfig.load(new StringReader(serializedConfig));
- } catch (ConfigurationException e) {
- throw new IllegalArgumentException("Error deserializing client configuration: " + serializedConfig, e);
- }
- return new ClientConfiguration(propConfig);
- }
-
- private static List<String> getDefaultSearchPath() {
- String clientConfSearchPath = System.getenv("ACCUMULO_CLIENT_CONF_PATH");
- List<String> clientConfPaths;
- if (clientConfSearchPath != null) {
- clientConfPaths = Arrays.asList(clientConfSearchPath.split(File.pathSeparator));
- } else {
- // if $ACCUMULO_CLIENT_CONF_PATH env isn't set, priority from top to bottom is:
- // ~/.accumulo/config
- // $ACCUMULO_CONF_DIR/client.conf -OR- $ACCUMULO_HOME/conf/client.conf (depending on whether $ACCUMULO_CONF_DIR is set)
- // /etc/accumulo/client.conf
- clientConfPaths = new LinkedList<String>();
- clientConfPaths.add(System.getProperty("user.home") + File.separator + USER_ACCUMULO_DIR_NAME + File.separator + USER_CONF_FILENAME);
- if (System.getenv("ACCUMULO_CONF_DIR") != null) {
- clientConfPaths.add(System.getenv("ACCUMULO_CONF_DIR") + File.separator + GLOBAL_CONF_FILENAME);
- } else if (System.getenv("ACCUMULO_HOME") != null) {
- clientConfPaths.add(System.getenv("ACCUMULO_HOME") + File.separator + "conf" + File.separator + GLOBAL_CONF_FILENAME);
- }
- clientConfPaths.add("/etc/accumulo/" + GLOBAL_CONF_FILENAME);
- }
- return clientConfPaths;
- }
-
- public String serialize() {
- PropertiesConfiguration propConfig = new PropertiesConfiguration();
- propConfig.copy(this);
- StringWriter writer = new StringWriter();
- try {
- propConfig.save(writer);
- } catch (ConfigurationException e) {
- // this should never happen
- throw new IllegalStateException(e);
- }
- return writer.toString();
- }
-
- public String get(ClientProperty prop) {
- if (this.containsKey(prop.getKey()))
- return this.getString(prop.getKey());
- else
- return prop.getDefaultValue();
- }
-
- public void setProperty(ClientProperty prop, String value) {
- this.setProperty(prop.getKey(), value);
- }
-
- public ClientConfiguration with(ClientProperty prop, String value) {
- this.setProperty(prop.getKey(), value);
- return this;
- }
-
- public ClientConfiguration withInstance(String instanceName) {
- ArgumentChecker.notNull(instanceName);
- return with(ClientProperty.INSTANCE_NAME, instanceName);
- }
-
- public ClientConfiguration withInstance(UUID instanceId) {
- ArgumentChecker.notNull(instanceId);
- return with(ClientProperty.INSTANCE_ID, instanceId.toString());
- }
-
- public ClientConfiguration withZkHosts(String zooKeepers) {
- ArgumentChecker.notNull(zooKeepers);
- return with(ClientProperty.INSTANCE_ZK_HOST, zooKeepers);
- }
-
- public ClientConfiguration withZkTimeout(int timeout) {
- return with(ClientProperty.INSTANCE_ZK_TIMEOUT, String.valueOf(timeout));
- }
-
- public ClientConfiguration withSsl(boolean sslEnabled) {
- return withSsl(sslEnabled, false);
- }
-
- public ClientConfiguration withSsl(boolean sslEnabled, boolean useJsseConfig) {
- return with(ClientProperty.INSTANCE_RPC_SSL_ENABLED, String.valueOf(sslEnabled))
- .with(ClientProperty.RPC_USE_JSSE, String.valueOf(useJsseConfig));
- }
-
- public ClientConfiguration withTruststore(String path) {
- return withTruststore(path, null, null);
- }
-
- public ClientConfiguration withTruststore(String path, String password, String type) {
- ArgumentChecker.notNull(path);
- setProperty(ClientProperty.RPC_SSL_TRUSTSTORE_PATH, path);
- if (password != null)
- setProperty(ClientProperty.RPC_SSL_TRUSTSTORE_PASSWORD, password);
- if (type != null)
- setProperty(ClientProperty.RPC_SSL_TRUSTSTORE_TYPE, type);
- return this;
- }
-
- public ClientConfiguration withKeystore(String path) {
- return withKeystore(path, null, null);
- }
-
- public ClientConfiguration withKeystore(String path, String password, String type) {
- ArgumentChecker.notNull(path);
- setProperty(ClientProperty.INSTANCE_RPC_SSL_CLIENT_AUTH, "true");
- setProperty(ClientProperty.RPC_SSL_KEYSTORE_PATH, path);
- if (password != null)
- setProperty(ClientProperty.RPC_SSL_KEYSTORE_PASSWORD, password);
- if (type != null)
- setProperty(ClientProperty.RPC_SSL_KEYSTORE_TYPE, type);
- return this;
- }
-
- public AccumuloConfiguration getAccumuloConfiguration() {
- final AccumuloConfiguration defaultConf = AccumuloConfiguration.getDefaultConfiguration();
- return new AccumuloConfiguration() {
-
- @Override
- public Iterator<Entry<String,String>> iterator() {
- TreeMap<String,String> entries = new TreeMap<String,String>();
-
- for (Entry<String,String> parentEntry : defaultConf)
- entries.put(parentEntry.getKey(), parentEntry.getValue());
-
- @SuppressWarnings("unchecked")
- Iterator<String> keyIter = getKeys();
- while (keyIter.hasNext()) {
- String key = keyIter.next();
- entries.put(key, getString(key));
- }
-
- return entries.entrySet().iterator();
- }
-
- @Override
- public String get(Property property) {
- if (containsKey(property.getKey()))
- return getString(property.getKey());
- else
- return defaultConf.get(property);
- }
-
- @Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {
- for (Entry<String,String> entry : this)
- if (filter.accept(entry.getKey()))
- props.put(entry.getKey(), entry.getValue());
- }
- };
- }
-
- public static ClientConfiguration fromAccumuloConfiguration(AccumuloConfiguration accumuloConf) {
- Map<String,String> props = new HashMap<String,String>();
- for (ClientProperty prop : ClientProperty.values()) {
- if (prop.accumuloProperty == null)
- continue;
- props.put(prop.getKey(), accumuloConf.get(prop.accumuloProperty));
- }
- return new ClientConfiguration(new MapConfiguration(props));
- }
-}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/metadata/MetadataLocationObtainer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/metadata/MetadataLocationObtainer.java b/core/src/main/java/org/apache/accumulo/core/metadata/MetadataLocationObtainer.java
index cb86b77..25007f5 100644
--- a/core/src/main/java/org/apache/accumulo/core/metadata/MetadataLocationObtainer.java
+++ b/core/src/main/java/org/apache/accumulo/core/metadata/MetadataLocationObtainer.java
@@ -34,7 +34,7 @@ import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.Instance;
import org.apache.accumulo.core.client.impl.AccumuloServerException;
import org.apache.accumulo.core.client.impl.ScannerOptions;
-import org.apache.accumulo.core.client.impl.ServerConfigurationFactory;
+import org.apache.accumulo.core.client.impl.ServerConfigurationUtil;
import org.apache.accumulo.core.client.impl.TabletLocator;
import org.apache.accumulo.core.client.impl.TabletLocator.TabletLocation;
import org.apache.accumulo.core.client.impl.TabletLocator.TabletLocations;
@@ -98,7 +98,7 @@ public class MetadataLocationObtainer implements TabletLocationObtainer {
Map<String,Map<String,String>> serverSideIteratorOptions = Collections.emptyMap();
boolean more = ThriftScanner.getBatchFromServer(instance, credentials, range, src.tablet_extent, src.tablet_location, encodedResults, locCols,
- serverSideIteratorList, serverSideIteratorOptions, Constants.SCAN_BATCH_SIZE, Authorizations.EMPTY, false, ServerConfigurationFactory.getConfiguration(instance));
+ serverSideIteratorList, serverSideIteratorOptions, Constants.SCAN_BATCH_SIZE, Authorizations.EMPTY, false, ServerConfigurationUtil.getConfiguration(instance));
decodeRows(encodedResults, results);
@@ -106,7 +106,7 @@ public class MetadataLocationObtainer implements TabletLocationObtainer {
range = new Range(results.lastKey().followingKey(PartialKey.ROW_COLFAM_COLQUAL_COLVIS_TIME), true, new Key(stopRow).followingKey(PartialKey.ROW), false);
encodedResults.clear();
more = ThriftScanner.getBatchFromServer(instance, credentials, range, src.tablet_extent, src.tablet_location, encodedResults, locCols,
- serverSideIteratorList, serverSideIteratorOptions, Constants.SCAN_BATCH_SIZE, Authorizations.EMPTY, false, ServerConfigurationFactory.getConfiguration(instance));
+ serverSideIteratorList, serverSideIteratorOptions, Constants.SCAN_BATCH_SIZE, Authorizations.EMPTY, false, ServerConfigurationUtil.getConfiguration(instance));
decodeRows(encodedResults, results);
}
@@ -179,7 +179,7 @@ public class MetadataLocationObtainer implements TabletLocationObtainer {
Map<KeyExtent,List<Range>> failures = new HashMap<KeyExtent,List<Range>>();
try {
TabletServerBatchReaderIterator.doLookup(instance, credentials, tserver, tabletsRanges, failures, unscanned, rr, columns, opts, Authorizations.EMPTY,
- ServerConfigurationFactory.getConfiguration(instance));
+ ServerConfigurationUtil.getConfiguration(instance));
if (failures.size() > 0) {
// invalidate extents in parents cache
if (log.isTraceEnabled())
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java
index b518400..ddadae9 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java
@@ -41,19 +41,21 @@ import jline.console.history.FileHistory;
import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
+import org.apache.accumulo.core.client.ClientConfiguration;
+import org.apache.accumulo.core.client.ClientConfiguration.ClientProperty;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.Instance;
import org.apache.accumulo.core.client.IteratorSetting;
import org.apache.accumulo.core.client.TableNotFoundException;
import org.apache.accumulo.core.client.ZooKeeperInstance;
+import org.apache.accumulo.core.client.impl.ServerConfigurationUtil;
import org.apache.accumulo.core.client.mock.MockInstance;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.client.security.tokens.PasswordToken;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
-import org.apache.accumulo.core.conf.ClientConfiguration;
-import org.apache.accumulo.core.conf.SiteConfiguration;
+import org.apache.accumulo.core.conf.DefaultConfiguration;
import org.apache.accumulo.core.conf.Property;
-import org.apache.accumulo.core.conf.ClientConfiguration.ClientProperty;
+import org.apache.accumulo.core.conf.SiteConfiguration;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.data.thrift.TConstraintViolationSummary;
@@ -419,7 +421,8 @@ public class Shell extends ShellOptions {
instanceName = clientConfig.get(ClientProperty.INSTANCE_NAME);
}
if (instanceName == null || keepers == null) {
- AccumuloConfiguration conf = SiteConfiguration.getInstance(clientConfig.getAccumuloConfiguration());
+ AccumuloConfiguration conf = SiteConfiguration.getInstance(ServerConfigurationUtil.convertClientConfig(DefaultConfiguration.getInstance(),
+ clientConfig));
if (instanceName == null) {
Path instanceDir = new Path(conf.get(Property.INSTANCE_DFS_DIR), "instance_id");
instanceId = UUID.fromString(ZooUtil.getInstanceIDFromHdfs(instanceDir));
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/main/java/org/apache/accumulo/core/util/shell/ShellOptionsJC.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/ShellOptionsJC.java b/core/src/main/java/org/apache/accumulo/core/util/shell/ShellOptionsJC.java
index 2f30a87..547da48 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/shell/ShellOptionsJC.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/shell/ShellOptionsJC.java
@@ -24,9 +24,9 @@ import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
+import org.apache.accumulo.core.client.ClientConfiguration;
+import org.apache.accumulo.core.client.ClientConfiguration.ClientProperty;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
-import org.apache.accumulo.core.conf.ClientConfiguration.ClientProperty;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.log4j.Logger;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/util/ConfiguratorBaseTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/util/ConfiguratorBaseTest.java b/core/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/util/ConfiguratorBaseTest.java
index 50fc0a9..3b5143f 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/util/ConfiguratorBaseTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/util/ConfiguratorBaseTest.java
@@ -21,14 +21,14 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.apache.accumulo.core.client.AccumuloSecurityException;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.Instance;
import org.apache.accumulo.core.client.ZooKeeperInstance;
+import org.apache.accumulo.core.client.ClientConfiguration.ClientProperty;
import org.apache.accumulo.core.client.mock.MockInstance;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken.AuthenticationTokenSerializer;
import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
-import org.apache.accumulo.core.conf.ClientConfiguration.ClientProperty;
import org.apache.commons.codec.binary.Base64;
import org.apache.hadoop.conf.Configuration;
import org.apache.log4j.Level;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/test/java/org/apache/accumulo/core/conf/ClientConfigurationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/accumulo/core/conf/ClientConfigurationTest.java b/core/src/test/java/org/apache/accumulo/core/conf/ClientConfigurationTest.java
index 55cf9d3..40be70f 100644
--- a/core/src/test/java/org/apache/accumulo/core/conf/ClientConfigurationTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/conf/ClientConfigurationTest.java
@@ -20,7 +20,8 @@ import static org.junit.Assert.assertEquals;
import java.util.Arrays;
-import org.apache.accumulo.core.conf.ClientConfiguration.ClientProperty;
+import org.apache.accumulo.core.client.ClientConfiguration;
+import org.apache.accumulo.core.client.ClientConfiguration.ClientProperty;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/core/src/test/java/org/apache/accumulo/core/util/shell/ShellSetInstanceTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/accumulo/core/util/shell/ShellSetInstanceTest.java b/core/src/test/java/org/apache/accumulo/core/util/shell/ShellSetInstanceTest.java
index 5ce1320..a2769bd 100644
--- a/core/src/test/java/org/apache/accumulo/core/util/shell/ShellSetInstanceTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/util/shell/ShellSetInstanceTest.java
@@ -35,11 +35,11 @@ import java.util.UUID;
import jline.console.ConsoleReader;
+import org.apache.accumulo.core.client.ClientConfiguration;
+import org.apache.accumulo.core.client.ClientConfiguration.ClientProperty;
import org.apache.accumulo.core.client.ZooKeeperInstance;
import org.apache.accumulo.core.client.mock.MockInstance;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
-import org.apache.accumulo.core.conf.ClientConfiguration;
-import org.apache.accumulo.core.conf.ClientConfiguration.ClientProperty;
import org.apache.accumulo.core.conf.ConfigSanityCheck;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.core.zookeeper.ZooUtil;
@@ -154,22 +154,21 @@ public class ShellSetInstanceTest {
expect(clientConf.get(ClientProperty.INSTANCE_NAME)).andReturn(null);
}
- AccumuloConfiguration conf = createMock(AccumuloConfiguration.class);
- expect(clientConf.getAccumuloConfiguration()).andReturn(conf);
-
mockStatic(ConfigSanityCheck.class);
ConfigSanityCheck.validate(EasyMock.<AccumuloConfiguration>anyObject());
- expectLastCall();
+ expectLastCall().atLeastOnce();
replay(ConfigSanityCheck.class);
if (!onlyHosts) {
- expect(conf.get(Property.INSTANCE_ZK_HOST)).andReturn("host1,host2").atLeastOnce();
+ expect(clientConf.containsKey(Property.INSTANCE_ZK_HOST.getKey())).andReturn(true).atLeastOnce();
+ expect(clientConf.getString(Property.INSTANCE_ZK_HOST.getKey())).andReturn("host1,host2").atLeastOnce();
expect(clientConf.withZkHosts("host1,host2")).andReturn(clientConf);
}
if (!onlyInstance) {
- expect(conf.get(Property.INSTANCE_DFS_DIR)).andReturn("/dfs").atLeastOnce();
+ expect(clientConf.containsKey(Property.INSTANCE_DFS_DIR.getKey())).andReturn(true).atLeastOnce();
+ expect(clientConf.getString(Property.INSTANCE_DFS_DIR.getKey())).andReturn("/dfs").atLeastOnce();
}
- replay(conf);
+
UUID randomUUID = null;
if (!onlyInstance) {
mockStatic(ZooUtil.class);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataQuery.java
----------------------------------------------------------------------
diff --git a/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataQuery.java b/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataQuery.java
index a66438e..4b12d7b 100644
--- a/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataQuery.java
+++ b/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataQuery.java
@@ -23,12 +23,12 @@ import java.util.Map.Entry;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.Scanner;
import org.apache.accumulo.core.client.TableNotFoundException;
import org.apache.accumulo.core.client.ZooKeeperInstance;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.data.Value;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/examples/simple/src/main/java/org/apache/accumulo/examples/simple/mapreduce/TokenFileWordCount.java
----------------------------------------------------------------------
diff --git a/examples/simple/src/main/java/org/apache/accumulo/examples/simple/mapreduce/TokenFileWordCount.java b/examples/simple/src/main/java/org/apache/accumulo/examples/simple/mapreduce/TokenFileWordCount.java
index 1114a7e..fc4b27f 100644
--- a/examples/simple/src/main/java/org/apache/accumulo/examples/simple/mapreduce/TokenFileWordCount.java
+++ b/examples/simple/src/main/java/org/apache/accumulo/examples/simple/mapreduce/TokenFileWordCount.java
@@ -18,8 +18,8 @@ package org.apache.accumulo.examples.simple.mapreduce;
import java.io.IOException;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.Mutation;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.util.CachedConfiguration;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/examples/simple/src/main/java/org/apache/accumulo/examples/simple/reservations/ARS.java
----------------------------------------------------------------------
diff --git a/examples/simple/src/main/java/org/apache/accumulo/examples/simple/reservations/ARS.java b/examples/simple/src/main/java/org/apache/accumulo/examples/simple/reservations/ARS.java
index 12365b6..509a674 100644
--- a/examples/simple/src/main/java/org/apache/accumulo/examples/simple/reservations/ARS.java
+++ b/examples/simple/src/main/java/org/apache/accumulo/examples/simple/reservations/ARS.java
@@ -24,13 +24,13 @@ import jline.console.ConsoleReader;
import org.apache.accumulo.core.client.ConditionalWriter;
import org.apache.accumulo.core.client.ConditionalWriter.Status;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.ConditionalWriterConfig;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.IsolatedScanner;
import org.apache.accumulo.core.client.Scanner;
import org.apache.accumulo.core.client.ZooKeeperInstance;
import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.Condition;
import org.apache.accumulo.core.data.ConditionalMutation;
import org.apache.accumulo.core.data.Key;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
----------------------------------------------------------------------
diff --git a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
index 0a50747..8b195ff 100644
--- a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
+++ b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
@@ -44,11 +44,11 @@ import java.util.Set;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.Instance;
import org.apache.accumulo.core.client.ZooKeeperInstance;
import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.core.master.thrift.MasterGoalState;
import org.apache.accumulo.core.util.Daemon;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloInstance.java
----------------------------------------------------------------------
diff --git a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloInstance.java b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloInstance.java
index 1e1c464..43cae2d 100644
--- a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloInstance.java
+++ b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloInstance.java
@@ -20,9 +20,9 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.net.MalformedURLException;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.Instance;
import org.apache.accumulo.core.client.ZooKeeperInstance;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.conf.Property;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/5bd68ef9/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
----------------------------------------------------------------------
diff --git a/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java b/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
index 9324da9..799c763 100644
--- a/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
+++ b/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
@@ -42,6 +42,7 @@ import org.apache.accumulo.core.client.BatchWriter;
import org.apache.accumulo.core.client.BatchWriterConfig;
import org.apache.accumulo.core.client.ConditionalWriter;
import org.apache.accumulo.core.client.ConditionalWriter.Result;
+import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.ConditionalWriterConfig;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.Instance;
@@ -61,7 +62,6 @@ import org.apache.accumulo.core.client.mock.MockInstance;
import org.apache.accumulo.core.client.security.SecurityErrorCode;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.conf.ClientConfiguration;
import org.apache.accumulo.core.data.Column;
import org.apache.accumulo.core.data.ConditionalMutation;
import org.apache.accumulo.core.data.Key;