You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by sm...@apache.org on 2014/05/28 04:21:08 UTC
[03/44] git commit: SLIDER-35 multiple hbase instances are
registering without conflict, test verifes it
SLIDER-35 multiple hbase instances are registering without conflict, test verifes it
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/edbd55d7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/edbd55d7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/edbd55d7
Branch: refs/heads/master
Commit: edbd55d74cfe8467f2647224b4b51b229c11aeea
Parents: 778aa02
Author: Steve Loughran <st...@hortonworks.com>
Authored: Wed May 21 13:43:56 2014 +0100
Committer: Steve Loughran <st...@hortonworks.com>
Committed: Wed May 21 13:43:56 2014 +0100
----------------------------------------------------------------------
.../org/apache/slider/client/SliderClient.java | 2 +-
.../core/registry/info/ServiceInstanceData.java | 41 +++++++++++++++++++-
.../providers/AbstractClientProvider.java | 1 -
.../providers/AbstractProviderService.java | 4 +-
.../apache/slider/providers/ProviderRole.java | 5 +--
.../slider/providers/ProviderService.java | 1 -
.../apache/slider/providers/ProviderUtils.java | 6 +--
.../slider/providers/SliderProviderFactory.java | 4 --
.../slideram/SliderAMClientProvider.java | 4 +-
.../services/curator/RegistryBinderService.java | 29 +++++++-------
.../standalone/TestStandaloneAgentAM.groovy | 4 +-
.../standalone/TestStandaloneRegistryAM.groovy | 4 +-
.../apache/slider/test/SliderTestUtils.groovy | 15 ++++---
.../publisher/TestAgentProviderService.java | 4 +-
.../providers/hbase/HBaseClientProvider.java | 4 +-
.../slider/providers/hbase/HBaseKeys.java | 4 ++
.../providers/hbase/HBaseProviderService.java | 5 +--
.../minicluster/live/TestHBaseMaster.groovy | 11 +++++-
.../minicluster/live/TestTwoLiveClusters.groovy | 28 +++++++++----
19 files changed, 115 insertions(+), 61 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
index 8665622..a3c5c8e 100644
--- a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
+++ b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
@@ -2187,7 +2187,7 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe
* @throws IOException
* @throws YarnException
*/
- public List<String> listRegistryInstanceIDs() throws
+ public List<String> listRegistedSliderInstances() throws
IOException,
YarnException {
try {
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/main/java/org/apache/slider/core/registry/info/ServiceInstanceData.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/core/registry/info/ServiceInstanceData.java b/slider-core/src/main/java/org/apache/slider/core/registry/info/ServiceInstanceData.java
index cf5e6f4..1d8c561 100644
--- a/slider-core/src/main/java/org/apache/slider/core/registry/info/ServiceInstanceData.java
+++ b/slider-core/src/main/java/org/apache/slider/core/registry/info/ServiceInstanceData.java
@@ -26,7 +26,12 @@ import java.util.HashMap;
import java.util.Map;
/**
- * Service instance data to serialize with JSON
+ * Service instance data to serialize with JSON.
+ *
+ * The equality and hash codes are derived from the
+ * service type and ID, which aren't final so that JSON marshalling
+ * works. Do not change these fields if an instance is stored
+ * in a map
*/
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@@ -55,6 +60,40 @@ public class ServiceInstanceData implements Serializable {
this.id = id;
}
+ /**
+ * Instances are equal if they look after the same service type
+ * and name
+ * @param o other
+ * @return true if id and type match
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ ServiceInstanceData that = (ServiceInstanceData) o;
+
+ if (!id.equals(that.id)) {
+ return false;
+ }
+ if (!serviceType.equals(that.serviceType)) {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = serviceType.hashCode();
+ result = 31 * result + id.hashCode();
+ return result;
+ }
+
@Override
public String toString() {
final StringBuilder sb =
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/main/java/org/apache/slider/providers/AbstractClientProvider.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/providers/AbstractClientProvider.java b/slider-core/src/main/java/org/apache/slider/providers/AbstractClientProvider.java
index 1ff56a9..f8008a4 100644
--- a/slider-core/src/main/java/org/apache/slider/providers/AbstractClientProvider.java
+++ b/slider-core/src/main/java/org/apache/slider/providers/AbstractClientProvider.java
@@ -63,7 +63,6 @@ public abstract class AbstractClientProvider extends Configured {
/**
* Validate the instance definition.
- * @param clusterSpec
*/
public void validateInstanceDefinition(AggregateConf instanceDefinition) throws
SliderException {
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/main/java/org/apache/slider/providers/AbstractProviderService.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/providers/AbstractProviderService.java b/slider-core/src/main/java/org/apache/slider/providers/AbstractProviderService.java
index 8d3146a..a06134b 100644
--- a/slider-core/src/main/java/org/apache/slider/providers/AbstractProviderService.java
+++ b/slider-core/src/main/java/org/apache/slider/providers/AbstractProviderService.java
@@ -87,9 +87,9 @@ public abstract class AbstractProviderService
@Override
public void bind(StateAccessForProviders stateAccessor,
- RegistryViewForProviders registry) {
+ RegistryViewForProviders reg) {
this.amState = stateAccessor;
- this.registry = registry;
+ this.registry = reg;
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/main/java/org/apache/slider/providers/ProviderRole.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/providers/ProviderRole.java b/slider-core/src/main/java/org/apache/slider/providers/ProviderRole.java
index 7502267..5b85f7b 100644
--- a/slider-core/src/main/java/org/apache/slider/providers/ProviderRole.java
+++ b/slider-core/src/main/java/org/apache/slider/providers/ProviderRole.java
@@ -49,10 +49,7 @@ public final class ProviderRole {
}
ProviderRole that = (ProviderRole) o;
- if (!name.equals(that.name)) {
- return false;
- }
- return true;
+ return name.equals(that.name);
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/main/java/org/apache/slider/providers/ProviderService.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/providers/ProviderService.java b/slider-core/src/main/java/org/apache/slider/providers/ProviderService.java
index 47a8cc3..8d2462e 100644
--- a/slider-core/src/main/java/org/apache/slider/providers/ProviderService.java
+++ b/slider-core/src/main/java/org/apache/slider/providers/ProviderService.java
@@ -33,7 +33,6 @@ import org.apache.slider.core.main.ExitCodeProvider;
import org.apache.slider.core.registry.info.ServiceInstanceData;
import org.apache.slider.server.appmaster.state.StateAccessForProviders;
import org.apache.slider.server.appmaster.web.rest.agent.AgentRestOperations;
-import org.apache.slider.server.services.curator.RegistryBinderService;
import org.apache.slider.server.services.registry.RegistryViewForProviders;
import org.apache.slider.server.services.utility.EventCallback;
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/main/java/org/apache/slider/providers/ProviderUtils.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/providers/ProviderUtils.java b/slider-core/src/main/java/org/apache/slider/providers/ProviderUtils.java
index 4a9cb6d..cb7d27a 100644
--- a/slider-core/src/main/java/org/apache/slider/providers/ProviderUtils.java
+++ b/slider-core/src/main/java/org/apache/slider/providers/ProviderUtils.java
@@ -229,7 +229,7 @@ public class ProviderUtils implements RoleKeys {
String configName,
Map<String,String> tokenMap) {
String prefix = OptionKeys.SITE_XML_PREFIX +
- (configName.length() > 0 ? configName + "." : "");
+ (!configName.isEmpty() ? configName + "." : "");
for (Map.Entry<String, String> entry : options.entrySet()) {
String key = entry.getKey();
if (key.startsWith(prefix)) {
@@ -294,7 +294,7 @@ public class ProviderUtils implements RoleKeys {
FileNotFoundException {
String path;
File scriptFile;
- if (imagePath!=null) {
+ if (imagePath != null) {
File tarball = new File(SliderKeys.LOCAL_TARBALL_INSTALL_SUBDIR);
scriptFile = findBinScriptInExpandedArchive(tarball, bindir, script);
// now work back from the script to build the relative path
@@ -418,7 +418,7 @@ public class ProviderUtils implements RoleKeys {
}
log.debug("Found {} entries in {}", ls.length, base);
- List<File> directories = new LinkedList<File>();
+ List<File> directories = new LinkedList<>();
StringBuilder dirs = new StringBuilder();
for (File file : ls) {
log.debug("{}", false);
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/main/java/org/apache/slider/providers/SliderProviderFactory.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/providers/SliderProviderFactory.java b/slider-core/src/main/java/org/apache/slider/providers/SliderProviderFactory.java
index 4fc617f..f3bf0b1 100644
--- a/slider-core/src/main/java/org/apache/slider/providers/SliderProviderFactory.java
+++ b/slider-core/src/main/java/org/apache/slider/providers/SliderProviderFactory.java
@@ -87,10 +87,6 @@ public abstract class SliderProviderFactory extends Configured {
SliderProviderFactory providerFactory = providerClass.newInstance();
providerFactory.setConf(conf);
return providerFactory;
- } catch (InstantiationException e) {
- ex = e;
- } catch (IllegalAccessException e) {
- ex = e;
} catch (Exception e) {
ex = e;
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/main/java/org/apache/slider/providers/slideram/SliderAMClientProvider.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/providers/slideram/SliderAMClientProvider.java b/slider-core/src/main/java/org/apache/slider/providers/slideram/SliderAMClientProvider.java
index 66cfeba..9d13707 100644
--- a/slider-core/src/main/java/org/apache/slider/providers/slideram/SliderAMClientProvider.java
+++ b/slider-core/src/main/java/org/apache/slider/providers/slideram/SliderAMClientProvider.java
@@ -87,7 +87,7 @@ public class SliderAMClientProvider extends AbstractClientProvider implements
* List of roles
*/
public static final List<ProviderRole> ROLES =
- new ArrayList<ProviderRole>();
+ new ArrayList<>();
public static final int KEY_AM = ROLE_AM_PRIORITY_INDEX;
@@ -151,7 +151,7 @@ public class SliderAMClientProvider extends AbstractClientProvider implements
throws IOException, SliderException {
Map<String, LocalResource> providerResources =
- new HashMap<String, LocalResource>();
+ new HashMap<>();
ProviderUtils.addProviderJar(providerResources,
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/main/java/org/apache/slider/server/services/curator/RegistryBinderService.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/services/curator/RegistryBinderService.java b/slider-core/src/main/java/org/apache/slider/server/services/curator/RegistryBinderService.java
index f4bd9bd..14b78a7 100644
--- a/slider-core/src/main/java/org/apache/slider/server/services/curator/RegistryBinderService.java
+++ b/slider-core/src/main/java/org/apache/slider/server/services/curator/RegistryBinderService.java
@@ -108,12 +108,6 @@ public class RegistryBinderService<Payload> extends CuratorService {
Preconditions.checkNotNull(name, "null `name` arg");
Preconditions.checkState(isInState(STATE.STARTED), "Not started: " + this);
- if (lookup(id) != null) {
- throw new BadClusterStateException(
- "existing entry for service id %s name %s %s",
- id, name, url);
- }
-
ServiceInstanceBuilder<Payload> instanceBuilder = builder()
.name(name)
.id(id)
@@ -141,16 +135,6 @@ public class RegistryBinderService<Payload> extends CuratorService {
}
/**
- * Get the registered instance by its ID
- * @param id ID
- * @return instance or null
- */
- public synchronized ServiceInstance<Payload> lookup(String id) {
- Preconditions.checkNotNull(id, "null `id` arg");
- return entries.get(id);
- }
-
- /**
* Create a builder. This is already pre-prepared with address, registration
* time and a (random) UUID
* @return a builder
@@ -270,6 +254,19 @@ public class RegistryBinderService<Payload> extends CuratorService {
}
/**
+ * Find a single instance -return that value or raise an exception
+ * @param serviceType service type
+ * @param name the name (required(
+ * @return the instance that matches the criteria
+ * @throws FileNotFoundException if there were no matches
+ * @throws IOException any network problem
+ */
+ public CuratorServiceInstance<Payload> findInstance(String serviceType,
+ String name) throws IOException {
+ Preconditions.checkArgument(StringUtils.isNotEmpty(name), "name");
+ return findInstances(serviceType, name).get(0);
+ }
+ /**
* List registry entries. If a name was given, then the single match is returned
* -otherwise all entries matching the service type
* @param serviceType service type
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneAgentAM.groovy
----------------------------------------------------------------------
diff --git a/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneAgentAM.groovy b/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneAgentAM.groovy
index 6794327..d700fea 100644
--- a/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneAgentAM.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneAgentAM.groovy
@@ -98,10 +98,10 @@ class TestStandaloneAgentAM extends AgentMiniClusterTestBase {
describe "service registry names"
SliderRegistryService registry = client.registry
def names = registry.getServiceTypes();
- dumpRegistryNames(names)
+ dumpRegistryServiceTypes(names)
describe "service registry instance IDs"
- def instanceIds = client.listRegistryInstanceIDs()
+ def instanceIds = client.listRegistedSliderInstances()
log.info("number of instanceIds: ${instanceIds.size()}")
instanceIds.each { String it -> log.info(it) }
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneRegistryAM.groovy
----------------------------------------------------------------------
diff --git a/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneRegistryAM.groovy b/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneRegistryAM.groovy
index 7582b72..7639375 100644
--- a/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneRegistryAM.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneRegistryAM.groovy
@@ -115,9 +115,9 @@ class TestStandaloneRegistryAM extends AgentMiniClusterTestBase {
describe "service registry names"
SliderRegistryService registryService = client.registry
def serviceTypes = registryService.serviceTypes;
- dumpRegistryNames(serviceTypes)
+ dumpRegistryServiceTypes(serviceTypes)
- List<String> instanceIds = client.listRegistryInstanceIDs()
+ List<String> instanceIds = client.listRegistedSliderInstances()
dumpRegistryInstanceIDs(instanceIds)
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/test/groovy/org/apache/slider/test/SliderTestUtils.groovy
----------------------------------------------------------------------
diff --git a/slider-core/src/test/groovy/org/apache/slider/test/SliderTestUtils.groovy b/slider-core/src/test/groovy/org/apache/slider/test/SliderTestUtils.groovy
index 8588a53..2045f11 100644
--- a/slider-core/src/test/groovy/org/apache/slider/test/SliderTestUtils.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/test/SliderTestUtils.groovy
@@ -695,14 +695,17 @@ class SliderTestUtils extends Assert {
public static void dumpRegistryInstanceIDs(List<String> instanceIds) {
describe "service registry instance IDs"
- log.info("number of instanceIds: ${instanceIds.size()}")
- instanceIds.each { String it -> log.info(it) }
+ dumpCollection(instanceIds)
}
- public static void dumpRegistryNames(Collection<String> names) {
- describe "service registry names"
- log.info("number of names: ${names.size()}")
- names.each { String it -> log.info(it) }
+ public static void dumpRegistryServiceTypes(Collection<String> entries) {
+ describe "service registry types"
+ dumpCollection(entries)
+ }
+
+ def static void dumpCollection(Collection<String> entries) {
+ log.info("number of entries: ${entries.size()}")
+ entries.each { String it -> log.info(it) }
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/publisher/TestAgentProviderService.java
----------------------------------------------------------------------
diff --git a/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/publisher/TestAgentProviderService.java b/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/publisher/TestAgentProviderService.java
index 6aa7732..97199f4 100644
--- a/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/publisher/TestAgentProviderService.java
+++ b/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/publisher/TestAgentProviderService.java
@@ -39,8 +39,8 @@ public class TestAgentProviderService extends AgentProviderService{
@Override
public void bind(StateAccessForProviders stateAccessor,
- RegistryViewForProviders registry) {
- super.bind(stateAccessor, registry);
+ RegistryViewForProviders reg) {
+ super.bind(stateAccessor, reg);
Map<String,String> dummyProps = new HashMap<>();
dummyProps.put("prop1", "val1");
dummyProps.put("prop2", "val2");
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseClientProvider.java
----------------------------------------------------------------------
diff --git a/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseClientProvider.java b/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseClientProvider.java
index 4007dcb..7b19dd2 100644
--- a/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseClientProvider.java
+++ b/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseClientProvider.java
@@ -209,7 +209,7 @@ public class HBaseClientProvider extends AbstractClientProvider implements
}
}
- private static Set<String> knownRoleNames = new HashSet<String>();
+ private static Set<String> knownRoleNames = new HashSet<>();
static {
List<ProviderRole> roles = HBaseRoles.getRoles();
knownRoleNames.add(SliderKeys.COMPONENT_AM);
@@ -256,7 +256,7 @@ public class HBaseClientProvider extends AbstractClientProvider implements
// add any and all dependency files
Map<String, LocalResource> providerResources =
- new HashMap<String, LocalResource>();
+ new HashMap<>();
ProviderUtils.addProviderJar(providerResources,
this,
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseKeys.java
----------------------------------------------------------------------
diff --git a/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseKeys.java b/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseKeys.java
index af799c0..1d6ca70 100644
--- a/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseKeys.java
+++ b/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseKeys.java
@@ -70,6 +70,10 @@ public interface HBaseKeys {
String HBASE_GC_OPTS = "SERVER_GC_OPTS";
String PROPAGATED_CONFDIR = "PROPAGATED_CONFDIR";
+
+ /**
+ * Service type used in registry
+ */
String HBASE_SERVICE_TYPE = "org.apache.hbase";
String HBASE_SITE_PUBLISHED_CONFIG = "hbase-site";
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseProviderService.java
----------------------------------------------------------------------
diff --git a/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseProviderService.java b/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseProviderService.java
index 3402b4e..fc23970 100644
--- a/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseProviderService.java
+++ b/slider-providers/hbase/slider-hbase-provider/src/main/java/org/apache/slider/providers/hbase/HBaseProviderService.java
@@ -204,14 +204,13 @@ public class HBaseProviderService extends AbstractProviderService implements
@Override
protected void serviceStart() throws Exception {
registerHBaseServiceEntry();
-
-
super.serviceStart();
}
private void registerHBaseServiceEntry() throws IOException {
- String name = amState.getApplicationName() + ".hbase";
+ String name = amState.getApplicationName() ;
+// name += ".hbase";
ServiceInstanceData instanceData = new ServiceInstanceData(name,
HBASE_SERVICE_TYPE);
log.info("registering {}/{}", name, HBASE_SERVICE_TYPE );
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-providers/hbase/slider-hbase-provider/src/test/groovy/org/apache/slider/providers/hbase/minicluster/live/TestHBaseMaster.groovy
----------------------------------------------------------------------
diff --git a/slider-providers/hbase/slider-hbase-provider/src/test/groovy/org/apache/slider/providers/hbase/minicluster/live/TestHBaseMaster.groovy b/slider-providers/hbase/slider-hbase-provider/src/test/groovy/org/apache/slider/providers/hbase/minicluster/live/TestHBaseMaster.groovy
index bd9b189..52bc004 100644
--- a/slider-providers/hbase/slider-hbase-provider/src/test/groovy/org/apache/slider/providers/hbase/minicluster/live/TestHBaseMaster.groovy
+++ b/slider-providers/hbase/slider-hbase-provider/src/test/groovy/org/apache/slider/providers/hbase/minicluster/live/TestHBaseMaster.groovy
@@ -80,7 +80,7 @@ class TestHBaseMaster extends HBaseMiniClusterTestBase {
describe "service registry names"
SliderRegistryService registryService = client.registry
def names = registryService.getServiceTypes();
- dumpRegistryNames(names)
+ dumpRegistryServiceTypes(names)
List<CuratorServiceInstance<ServiceInstanceData>> instances =
client.listRegistryInstances();
@@ -91,6 +91,15 @@ class TestHBaseMaster extends HBaseMiniClusterTestBase {
assert hbaseService
def hbaseServiceData = hbaseService.payload
log.info "HBase service 0 == $hbaseServiceData"
+ assert hbaseServiceData.id
+ assert hbaseServiceData.serviceType == HBaseKeys.HBASE_SERVICE_TYPE
+
+ hbaseInstances = registryService.findInstances(
+ HBaseKeys.HBASE_SERVICE_TYPE,
+ clustername)
+ assert hbaseInstances.size() == 1
+ def hbaseServiceData2 = hbaseInstances[0].payload
+ assert hbaseServiceData == hbaseServiceData2
RegistryRetriever retriever = new RegistryRetriever(hbaseServiceData)
log.info retriever.toString()
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/edbd55d7/slider-providers/hbase/slider-hbase-provider/src/test/groovy/org/apache/slider/providers/hbase/minicluster/live/TestTwoLiveClusters.groovy
----------------------------------------------------------------------
diff --git a/slider-providers/hbase/slider-hbase-provider/src/test/groovy/org/apache/slider/providers/hbase/minicluster/live/TestTwoLiveClusters.groovy b/slider-providers/hbase/slider-hbase-provider/src/test/groovy/org/apache/slider/providers/hbase/minicluster/live/TestTwoLiveClusters.groovy
index dba52ba..a58f99a 100644
--- a/slider-providers/hbase/slider-hbase-provider/src/test/groovy/org/apache/slider/providers/hbase/minicluster/live/TestTwoLiveClusters.groovy
+++ b/slider-providers/hbase/slider-hbase-provider/src/test/groovy/org/apache/slider/providers/hbase/minicluster/live/TestTwoLiveClusters.groovy
@@ -22,6 +22,7 @@ import groovy.transform.CompileStatic
import groovy.util.logging.Slf4j
import org.apache.slider.common.params.Arguments
import org.apache.slider.client.SliderClient
+import org.apache.slider.providers.hbase.HBaseKeys
import org.apache.slider.providers.hbase.minicluster.HBaseMiniClusterTestBase
import org.apache.slider.core.main.ServiceLauncher
import org.apache.slider.core.registry.info.ServiceInstanceData
@@ -41,8 +42,10 @@ class TestTwoLiveClusters extends HBaseMiniClusterTestBase {
*/
@Test
public void testTwoLiveClusters() throws Throwable {
- createMiniCluster("TestTwoLiveClusters", configuration, 1, true)
- String clustername1 = "testtwoliveclusters-a"
+ def name = "test_two_live_clusters"
+ createMiniCluster(name, configuration, 1, true)
+
+ String clustername1 = name + "-1"
//now launch the cluster
int regionServerCount = 1
ServiceLauncher<SliderClient> launcher = createHBaseCluster(clustername1, regionServerCount, [], true, true)
@@ -59,7 +62,7 @@ class TestTwoLiveClusters extends HBaseMiniClusterTestBase {
waitForHBaseRegionServerCount(sliderClient, clustername1, 1, hbaseClusterStartupToLiveTime)
//now here comes cluster #2
- String clustername2 = "testtwoliveclusters-b"
+ String clustername2 = name + "-2"
String zkpath = "/$clustername2"
@@ -83,21 +86,30 @@ class TestTwoLiveClusters extends HBaseMiniClusterTestBase {
describe "service registry names"
SliderRegistryService registry = cluster2Client.registry
def names = registry.getServiceTypes();
- dumpRegistryNames(names)
+ dumpRegistryServiceTypes(names)
- List<String> instanceIds = sliderClient.listRegistryInstanceIDs()
+ List<String> instanceIds = sliderClient.listRegistedSliderInstances()
dumpRegistryInstanceIDs(instanceIds)
- assert names.size() == 1
+ assert names.size() == 2
assert instanceIds.size() == 2
- List<CuratorServiceInstance<ServiceInstanceData>> instances = sliderClient.listRegistryInstances(
- )
+ List<CuratorServiceInstance<ServiceInstanceData>> instances =
+ sliderClient.listRegistryInstances()
dumpRegistryInstances(instances)
assert instances.size() == 2
+ def hbaseInstances = registry.findInstances(
+ HBaseKeys.HBASE_SERVICE_TYPE, null)
+ assert hbaseInstances.size() == 2
+ def hbase1ServiceData = registry.findInstance(
+ HBaseKeys.HBASE_SERVICE_TYPE, clustername1).payload
+ def hbase2ServiceData = registry.findInstance(
+ HBaseKeys.HBASE_SERVICE_TYPE, clustername2).payload
+ assert !(hbase1ServiceData == hbase2ServiceData)
+
clusterActionFreeze(cluster2Client, clustername2,"freeze cluster 2")
clusterActionFreeze(sliderClient, clustername1,"Freeze cluster 1")