You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2014/12/02 21:37:02 UTC
[14/50] [abbrv] accumulo git commit: ACCUMULO-3167 Number of fixes
from Keith on reviewboard
ACCUMULO-3167 Number of fixes from Keith on reviewboard
Simplify AccumuloStandaloneCluster.stop/start to use ClusterControl
instead. Create some more constants.
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/7583946d
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/7583946d
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/7583946d
Branch: refs/heads/metrics2
Commit: 7583946d81fa4bf7b0a792bda1fd6da6e83a08c3
Parents: 1a57895
Author: Josh Elser <el...@apache.org>
Authored: Fri Nov 21 15:21:36 2014 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Mon Nov 24 18:08:48 2014 -0500
----------------------------------------------------------------------
.../standalone/StandaloneAccumuloCluster.java | 44 +++-----------------
.../standalone/StandaloneClusterControl.java | 33 ++++++++++-----
.../accumulo/harness/MiniClusterHarness.java | 9 ++--
3 files changed, 34 insertions(+), 52 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7583946d/minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneAccumuloCluster.java
----------------------------------------------------------------------
diff --git a/minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneAccumuloCluster.java b/minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneAccumuloCluster.java
index 0202194..4abb046 100644
--- a/minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneAccumuloCluster.java
+++ b/minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneAccumuloCluster.java
@@ -16,8 +16,8 @@
*/
package org.apache.accumulo.cluster.standalone;
-import java.io.File;
import java.io.IOException;
+import java.util.Arrays;
import org.apache.accumulo.cluster.AccumuloCluster;
import org.apache.accumulo.core.client.AccumuloException;
@@ -95,58 +95,24 @@ public class StandaloneAccumuloCluster implements AccumuloCluster {
@Override
public void start() throws IOException {
StandaloneClusterControl control = getClusterControl();
- File confDir = control.getConfDir();
// TODO We can check the hosts files, but that requires us to be on a host with the installation. Limitation at the moment.
control.exec(SetGoalState.class, new String[] {"NORMAL"});
- for (String master : control.getHosts(new File(confDir, "masters"))) {
- control.start(ServerType.MASTER, master);
- }
-
- for (String tserver : control.getHosts(new File(confDir, "slaves"))) {
- control.start(ServerType.TABLET_SERVER, tserver);
- }
-
- for (String tracer : control.getHosts(new File(confDir, "tracers"))) {
- control.start(ServerType.TRACER, tracer);
- }
-
- for (String gc : control.getHosts(new File(confDir, "gc"))) {
- control.start(ServerType.GARBAGE_COLLECTOR, gc);
- }
-
- for (String monitor : control.getHosts(new File(confDir, "monitor"))) {
- control.start(ServerType.MONITOR, monitor);
+ for (ServerType type : Arrays.asList(ServerType.MASTER, ServerType.TABLET_SERVER, ServerType.TRACER, ServerType.GARBAGE_COLLECTOR, ServerType.MONITOR)) {
+ control.startAllServers(type);
}
}
@Override
public void stop() throws IOException {
StandaloneClusterControl control = getClusterControl();
- File confDir = control.getConfDir();
// TODO We can check the hosts files, but that requires us to be on a host with the installation. Limitation at the moment.
- for (String master : control.getHosts(new File(confDir, "masters"))) {
- control.stop(ServerType.MASTER, master);
- }
-
- for (String tserver : control.getHosts(new File(confDir, "slaves"))) {
- control.stop(ServerType.TABLET_SERVER, tserver);
- }
-
- for (String tracer : control.getHosts(new File(confDir, "tracers"))) {
- control.stop(ServerType.TRACER, tracer);
- }
-
- for (String gc : control.getHosts(new File(confDir, "gc"))) {
- control.stop(ServerType.GARBAGE_COLLECTOR, gc);
- }
-
- for (String monitor : control.getHosts(new File(confDir, "monitor"))) {
- control.stop(ServerType.MONITOR, monitor);
+ for (ServerType type : Arrays.asList(ServerType.MASTER, ServerType.TABLET_SERVER, ServerType.TRACER, ServerType.GARBAGE_COLLECTOR, ServerType.MONITOR)) {
+ control.stopAllServers(type);
}
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7583946d/minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneClusterControl.java
----------------------------------------------------------------------
diff --git a/minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneClusterControl.java b/minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneClusterControl.java
index f3f311c..c9f395d 100644
--- a/minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneClusterControl.java
+++ b/minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneClusterControl.java
@@ -21,6 +21,7 @@ import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Map.Entry;
@@ -42,6 +43,10 @@ import com.google.common.collect.Maps;
public class StandaloneClusterControl implements ClusterControl {
private static final Logger log = LoggerFactory.getLogger(StandaloneClusterControl.class);
+ private static final String START_SERVER_SCRIPT = "start-server.sh", ACCUMULO_SCRIPT = "accumulo";
+ private static final String MASTER_HOSTS_FILE = "masters", GC_HOSTS_FILE = "gc", TSERVER_HOSTS_FILE = "slaves", TRACER_HOSTS_FILE = "tracers",
+ MONITOR_HOSTS_FILE = "monitor";
+
protected String accumuloHome, accumuloConfDir;
protected RemoteShellOptions options;
@@ -105,27 +110,35 @@ public class StandaloneClusterControl implements ClusterControl {
switch (server) {
case TABLET_SERVER:
- for (String tserver : getHosts(new File(confDir, "slaves"))) {
+ for (String tserver : getHosts(new File(confDir, TSERVER_HOSTS_FILE))) {
start(server, tserver);
}
break;
case MASTER:
- for (String master : getHosts(new File(confDir, "masters"))) {
+ for (String master : getHosts(new File(confDir, MASTER_HOSTS_FILE))) {
start(server, master);
}
break;
case GARBAGE_COLLECTOR:
- for (String gc : getHosts(new File(confDir, "gc"))) {
+ List<String> hosts = getHosts(new File(confDir, GC_HOSTS_FILE));
+ if (hosts.isEmpty()) {
+ hosts = getHosts(new File(confDir, MASTER_HOSTS_FILE));
+ if (hosts.isEmpty()) {
+ throw new IOException("Found hosts to run garbage collector on");
+ }
+ hosts = Collections.singletonList(hosts.get(0));
+ }
+ for (String gc : hosts) {
start(server, gc);
}
break;
case TRACER:
- for (String tracer : getHosts(new File(confDir, "tracers"))) {
+ for (String tracer : getHosts(new File(confDir, TRACER_HOSTS_FILE))) {
start(server, tracer);
}
break;
case MONITOR:
- for (String monitor : getHosts(new File(confDir, "monitor"))) {
+ for (String monitor : getHosts(new File(confDir, MONITOR_HOSTS_FILE))) {
start(server, monitor);
}
break;
@@ -147,27 +160,27 @@ public class StandaloneClusterControl implements ClusterControl {
switch (server) {
case TABLET_SERVER:
- for (String tserver : getHosts(new File(confDir, "slaves"))) {
+ for (String tserver : getHosts(new File(confDir, TSERVER_HOSTS_FILE))) {
stop(server, tserver);
}
break;
case MASTER:
- for (String master : getHosts(new File(confDir, "masters"))) {
+ for (String master : getHosts(new File(confDir, MASTER_HOSTS_FILE))) {
stop(server, master);
}
break;
case GARBAGE_COLLECTOR:
- for (String gc : getHosts(new File(confDir, "gc"))) {
+ for (String gc : getHosts(new File(confDir, GC_HOSTS_FILE))) {
stop(server, gc);
}
break;
case TRACER:
- for (String tracer : getHosts(new File(confDir, "tracers"))) {
+ for (String tracer : getHosts(new File(confDir, TRACER_HOSTS_FILE))) {
stop(server, tracer);
}
break;
case MONITOR:
- for (String monitor : getHosts(new File(confDir, "monitor"))) {
+ for (String monitor : getHosts(new File(confDir, MONITOR_HOSTS_FILE))) {
stop(server, monitor);
}
break;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7583946d/test/src/test/java/org/apache/accumulo/harness/MiniClusterHarness.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/accumulo/harness/MiniClusterHarness.java b/test/src/test/java/org/apache/accumulo/harness/MiniClusterHarness.java
index f4712b3..9f2ee5f 100644
--- a/test/src/test/java/org/apache/accumulo/harness/MiniClusterHarness.java
+++ b/test/src/test/java/org/apache/accumulo/harness/MiniClusterHarness.java
@@ -42,6 +42,9 @@ public class MiniClusterHarness {
private static final AtomicLong COUNTER = new AtomicLong(0);
+ public static final String USE_SSL_FOR_IT_OPTION = "org.apache.accumulo.test.functional.useSslForIT",
+ USE_CRED_PROVIDER_FOR_IT_OPTION = "org.apache.accumulo.test.functional.useCredProviderForIT", TRUE = Boolean.toString(true);
+
/**
* Create a MiniAccumuloCluster using the given Token as the credentials for the root user.
*
@@ -102,17 +105,17 @@ public class MiniClusterHarness {
}
protected void configureForEnvironment(MiniAccumuloConfigImpl cfg, Class<?> testClass, File folder) {
- if ("true".equals(System.getProperty("org.apache.accumulo.test.functional.useSslForIT"))) {
+ if (TRUE.equals(System.getProperty(USE_SSL_FOR_IT_OPTION))) {
configureForSsl(cfg, folder);
}
- if ("true".equals(System.getProperty("org.apache.accumulo.test.functional.useCredProviderForIT"))) {
+ if (TRUE.equals(System.getProperty(USE_CRED_PROVIDER_FOR_IT_OPTION))) {
cfg.setUseCredentialProvider(true);
}
}
protected void configureForSsl(MiniAccumuloConfigImpl cfg, File folder) {
Map<String,String> siteConfig = cfg.getSiteConfig();
- if ("true".equals(siteConfig.get(Property.INSTANCE_RPC_SSL_ENABLED.getKey()))) {
+ if (TRUE.equals(siteConfig.get(Property.INSTANCE_RPC_SSL_ENABLED.getKey()))) {
// already enabled; don't mess with it
return;
}