diff --git a/src/java/voldemort/client/AbstractStoreClientFactory.java b/src/java/voldemort/client/AbstractStoreClientFactory.java index ae124f43a4..90ae483ca5 100644 --- a/src/java/voldemort/client/AbstractStoreClientFactory.java +++ b/src/java/voldemort/client/AbstractStoreClientFactory.java @@ -24,7 +24,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.UUID; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; @@ -104,7 +103,7 @@ public abstract class AbstractStoreClientFactory implements StoreClientFactory { private final RoutedStoreFactory routedStoreFactory; private final int clientZoneId; private final String clientContextName; - private final AtomicInteger sequencer; + private final AtomicInteger clientSequencer; private final HashSet clientAsyncServiceRepo; public AbstractStoreClientFactory(ClientConfig config) { @@ -120,26 +119,22 @@ public AbstractStoreClientFactory(ClientConfig config) { this.maxBootstrapRetries = config.getMaxBootstrapRetries(); this.stats = new StoreStats(); this.clientZoneId = config.getClientZoneId(); - this.clientContextName = (null == config.getClientContextName() ? "" - : config.getClientContextName()); + this.clientContextName = config.getClientContextName(); this.routedStoreFactory = new RoutedStoreFactory(config.isPipelineRoutedStoreEnabled(), threadPool, config.getTimeoutConfig()); - this.sequencer = new AtomicInteger(0); + this.clientSequencer = new AtomicInteger(0); this.clientAsyncServiceRepo = new HashSet(); if(this.isJmxEnabled) { JmxUtils.registerMbean(threadPool, JmxUtils.createObjectName(JmxUtils.getPackageName(threadPool.getClass()), JmxUtils.getClassName(threadPool.getClass()) - + "." - + clientContextName + jmxId())); JmxUtils.registerMbean(new StoreStatsJmx(stats), JmxUtils.createObjectName("voldemort.store.stats.aggregate", - clientContextName + ".aggregate-perf" - + jmxId())); + "aggregate-perf" + jmxId())); } } @@ -167,22 +162,20 @@ public StoreClient getStoreClient(String storeName, this, 3, clientContextName, - sequencer.getAndIncrement(), + clientSequencer.getAndIncrement(), config, service); } @SuppressWarnings("unchecked") public Store getRawStore(String storeName, - InconsistencyResolver> resolver, - UUID clientId) { - return getRawStore(storeName, resolver, clientId, null, null); + InconsistencyResolver> resolver) { + return getRawStore(storeName, resolver, null, null); } @SuppressWarnings("unchecked") public Store getRawStore(String storeName, InconsistencyResolver> resolver, - UUID clientId, String customStoresXml, String clusterXmlString) { @@ -279,13 +272,7 @@ public Store getRawStore(String storeName, store = statStore; JmxUtils.registerMbean(new StoreStatsJmx(statStore.getStats()), JmxUtils.createObjectName(JmxUtils.getPackageName(store.getClass()), - clientContextName - + "." - + store.getName() - + jmxId() - + (null == clientId ? "" - : "." - + clientId.toString()))); + store.getName() + jmxId())); } if(storeDef.getKeySerializer().hasCompression() @@ -319,11 +306,6 @@ public Store getRawStore(String storeName, return serializedStore; } - public Store getRawStore(String storeName, - InconsistencyResolver> resolver) { - return getRawStore(storeName, resolver, null); - } - protected ClientConfig getConfig() { return config; } @@ -481,36 +463,13 @@ private void stopClientAsyncSchedulers() { clientAsyncServiceRepo.clear(); } + protected String getClientContext() { + return clientContextName; + } + /* Give a unique id to avoid jmx clashes */ public String jmxId() { return jmxId == 0 ? "" : Integer.toString(jmxId); } - /** - * Generate a unique client ID based on: 0. clientContext, if specified; 1. - * storeName; 2. deployment path; 3. client sequence - * - * @param storeName the name of the store the client is created for - * @param contextName the name of the client context - * @param clientSequence the client sequence number - * @return unique client ID - */ - public static UUID generateClientId(ClientInfo clientInfo) { - String contextName = clientInfo.getContext(); - int clientSequence = clientInfo.getClientSequence(); - - String newLine = System.getProperty("line.separator"); - StringBuilder context = new StringBuilder(contextName == null ? "" : contextName); - context.append(0 == clientSequence ? "" : ("." + clientSequence)); - context.append(".").append(clientInfo.getStoreName()); - context.append("@").append(clientInfo.getLocalHostName()).append(":"); - context.append(clientInfo.getDeploymentPath()).append(newLine); - - if(logger.isDebugEnabled()) { - logger.debug(context.toString()); - } - - return UUID.nameUUIDFromBytes(context.toString().getBytes()); - } - } diff --git a/src/java/voldemort/client/CachingStoreClientFactory.java b/src/java/voldemort/client/CachingStoreClientFactory.java index 444441e75c..f773130f3c 100644 --- a/src/java/voldemort/client/CachingStoreClientFactory.java +++ b/src/java/voldemort/client/CachingStoreClientFactory.java @@ -17,7 +17,6 @@ package voldemort.client; import java.util.List; -import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -76,13 +75,7 @@ public StoreClient getStoreClient(String storeName, public Store getRawStore(String storeName, InconsistencyResolver> resolver) { - return getRawStore(storeName, resolver, null); - } - - public Store getRawStore(String storeName, - InconsistencyResolver> resolver, - UUID clientId) { - return inner.getRawStore(storeName, resolver, clientId); + return getRawStore(storeName, resolver); } public void close() { @@ -126,9 +119,8 @@ else if(client instanceof LazyStoreClient) { public Store getRawStore(String storeName, InconsistencyResolver> resolver, - UUID clientId, String storesXml, String clusterXml) { - return inner.getRawStore(storeName, resolver, clientId, storesXml, clusterXml); + return inner.getRawStore(storeName, resolver, storesXml, clusterXml); } } diff --git a/src/java/voldemort/client/ClientConfig.java b/src/java/voldemort/client/ClientConfig.java index 04b8b41e0b..07e7d6f89e 100644 --- a/src/java/voldemort/client/ClientConfig.java +++ b/src/java/voldemort/client/ClientConfig.java @@ -78,7 +78,7 @@ public class ClientConfig { private long failureDetectorRequestLengthThreshold = socketTimeoutMs; private volatile int maxBootstrapRetries = 2; - private volatile String clientContextName = "default"; + private volatile String clientContextName = ""; /* 5 second check interval, in ms */ private volatile long asyncCheckMetadataInterval = 5000; diff --git a/src/java/voldemort/client/DefaultStoreClient.java b/src/java/voldemort/client/DefaultStoreClient.java index df26617e68..3a224d7425 100644 --- a/src/java/voldemort/client/DefaultStoreClient.java +++ b/src/java/voldemort/client/DefaultStoreClient.java @@ -21,7 +21,6 @@ import java.util.GregorianCalendar; import java.util.List; import java.util.Map; -import java.util.UUID; import java.util.Map.Entry; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; @@ -77,7 +76,7 @@ public class DefaultStoreClient implements StoreClient { private final String storeName; private final InconsistencyResolver> resolver; private final SystemStoreRepository sysRepository; - private final UUID clientId; + private final String clientId; private volatile Store store; private final SchedulerService scheduler; private ClientInfo clientInfo; @@ -109,7 +108,7 @@ public DefaultStoreClient(String storeName, clientSequence, System.currentTimeMillis(), ManifestFileReader.getReleaseVersion()); - this.clientId = AbstractStoreClientFactory.generateClientId(clientInfo); + this.clientId = generateClientId(clientInfo); this.config = config; this.sysRepository = new SystemStoreRepository(); this.scheduler = scheduler; @@ -117,9 +116,7 @@ public DefaultStoreClient(String storeName, JmxUtils.registerMbean(this, JmxUtils.createObjectName(JmxUtils.getPackageName(this.getClass()), JmxUtils.getClassName(this.getClass()) - + "." + clientContext + "." - + storeName + "." - + clientId.toString())); + + "." + storeName)); // Bootstrap this client bootStrap(); @@ -130,17 +127,17 @@ public DefaultStoreClient(String storeName, config.getAsyncCheckMetadataInterval()); } - registerClient(clientId.toString(), config.getClientRegistryRefreshInterval()); - logger.info("Voldemort client created: " + clientId.toString() + "\n" + clientInfo); + registerClient(clientId, config.getClientRegistryRefreshInterval()); + logger.info("Voldemort client created: " + clientId + "\n" + clientInfo); } private void registerClient(String jobId, int interval) { SystemStore clientRegistry = this.sysRepository.getClientRegistryStore(); if(null != clientRegistry) { try { - Version version = clientRegistry.putSysStore(clientId.toString(), clientInfo); + Version version = clientRegistry.putSysStore(clientId, clientInfo); ClientRegistryRefresher refresher = new ClientRegistryRefresher(clientRegistry, - clientId.toString(), + clientId, clientInfo, version); GregorianCalendar cal = new GregorianCalendar(); @@ -214,7 +211,7 @@ public void bootStrap() { */ clusterXml = ((AbstractStoreClientFactory) storeFactory).bootstrapMetadataWithRetries(MetadataStore.CLUSTER_KEY); - this.store = storeFactory.getRawStore(storeName, resolver, clientId, null, clusterXml); + this.store = storeFactory.getRawStore(storeName, resolver, null, clusterXml); // Create system stores logger.info("Creating system stores for store " + this.storeName); @@ -498,7 +495,7 @@ else if(versions.size() == 1) } - public UUID getClientId() { + public String getClientId() { return clientId; } @@ -515,4 +512,32 @@ public String getClusterMetadataVersion() { + this.asyncCheckMetadata.getClusterMetadataVersion(); return result; } + + /** + * Generate a unique client ID based on: 0. clientContext, if specified; 1. + * storeName; 2. deployment path; 3. client sequence + * + * @param storeName the name of the store the client is created for + * @param contextName the name of the client context + * @param clientSequence the client sequence number + * @return unique client ID + */ + public String generateClientId(ClientInfo clientInfo) { + String contextName = clientInfo.getContext(); + int clientSequence = clientInfo.getClientSequence(); + + String newLine = System.getProperty("line.separator"); + StringBuilder context = new StringBuilder(contextName == null ? "" : contextName); + context.append(0 == clientSequence ? "" : ("." + clientSequence)); + context.append(".").append(clientInfo.getStoreName()); + context.append("@").append(clientInfo.getLocalHostName()).append(":"); + context.append(clientInfo.getDeploymentPath()).append(newLine); + + if(logger.isDebugEnabled()) { + logger.debug(context.toString()); + } + + return context.toString(); + } + } diff --git a/src/java/voldemort/client/MockStoreClientFactory.java b/src/java/voldemort/client/MockStoreClientFactory.java index b50f130d3b..f552232e78 100644 --- a/src/java/voldemort/client/MockStoreClientFactory.java +++ b/src/java/voldemort/client/MockStoreClientFactory.java @@ -18,7 +18,6 @@ import java.io.StringReader; import java.util.List; -import java.util.UUID; import voldemort.cluster.failuredetector.FailureDetector; import voldemort.cluster.failuredetector.NoopFailureDetector; @@ -107,8 +106,7 @@ public StoreClient getStoreClient(String storeName, } public Store getRawStore(String storeName, - InconsistencyResolver> resolver, - UUID clientId) { + InconsistencyResolver> resolver) { if(this.storesXml != null) return getRawStore(storeName); @@ -133,11 +131,6 @@ public Store getRawStore(String storeName, return consistentStore; } - public Store getRawStore(String storeName, - InconsistencyResolver> resolver) { - return getRawStore(storeName, resolver, null); - } - private Store getRawStore(String storeName) { List storeDefs = storeMapper.readStoreList(new StringReader(storesXml)); StoreDefinition storeDef = null; @@ -215,7 +208,6 @@ public FailureDetector getFailureDetector() { public Store getRawStore(String storeName, InconsistencyResolver> resolver, - UUID clientId, String storesXml, String clusterXml) { return null; diff --git a/src/java/voldemort/client/SocketStoreClientFactory.java b/src/java/voldemort/client/SocketStoreClientFactory.java index 4447891e8e..1b26d5c3a9 100644 --- a/src/java/voldemort/client/SocketStoreClientFactory.java +++ b/src/java/voldemort/client/SocketStoreClientFactory.java @@ -39,7 +39,6 @@ import voldemort.store.socket.clientrequest.ClientRequestExecutorPool; import voldemort.store.system.SystemStoreConstants; import voldemort.utils.ByteArray; -import voldemort.utils.JmxUtils; import voldemort.versioning.InconsistencyResolver; import voldemort.versioning.Versioned; @@ -70,11 +69,6 @@ public SocketStoreClientFactory(ClientConfig config) { config.getSocketBufferSize(), config.getSocketKeepAlive(), config.isJmxEnabled()); - if(config.isJmxEnabled()) - JmxUtils.registerMbean(storeFactory, - JmxUtils.createObjectName(JmxUtils.getPackageName(storeFactory.getClass()), - JmxUtils.getClassName(storeFactory.getClass()) - + jmxId())); } @Override @@ -184,10 +178,6 @@ public void close() { } public Store getSystemStore(String storeName, String clusterXml) { - return getRawStore(storeName, - null, - null, - SystemStoreConstants.SYSTEM_STORE_SCHEMA, - clusterXml); + return getRawStore(storeName, null, SystemStoreConstants.SYSTEM_STORE_SCHEMA, clusterXml); } } diff --git a/src/java/voldemort/client/StoreClientFactory.java b/src/java/voldemort/client/StoreClientFactory.java index 71ebbef7dd..2ae6abc6d8 100644 --- a/src/java/voldemort/client/StoreClientFactory.java +++ b/src/java/voldemort/client/StoreClientFactory.java @@ -16,8 +16,6 @@ package voldemort.client; -import java.util.UUID; - import voldemort.cluster.failuredetector.FailureDetector; import voldemort.store.Store; import voldemort.versioning.InconsistencyResolver; @@ -74,18 +72,6 @@ public StoreClient getStoreClient(String storeName, Store getRawStore(String storeName, InconsistencyResolver> resolver); - /** - * Get the underlying store, not the public StoreClient interface - * - * @param storeName The name of the store - * @param resolver The inconsistency resolver - * @param clientId The unique id of the client - * @return The appropriate store - */ - Store getRawStore(String storeName, - InconsistencyResolver> resolver, - UUID clientId); - /** * Get the underlying store, not the public StoreClient interface * @@ -97,7 +83,6 @@ Store getRawStore(String storeName, */ Store getRawStore(String storeName, InconsistencyResolver> resolver, - UUID clientId, String customStoresXml, String clusterXmlString); diff --git a/src/java/voldemort/client/SystemStore.java b/src/java/voldemort/client/SystemStore.java index da37dfa9fe..42f0b117fd 100644 --- a/src/java/voldemort/client/SystemStore.java +++ b/src/java/voldemort/client/SystemStore.java @@ -56,8 +56,10 @@ public Version putSysStore(K key, V value) { this.sysStore.put(key, versioned, null); version = versioned.getVersion(); } catch(Exception e) { - logger.info("Exception caught during putSysStore:"); - e.printStackTrace(); + logger.info("Exception caught during putSysStore: " + e); + if(logger.isDebugEnabled()) { + e.printStackTrace(); + } } return version; } @@ -69,8 +71,10 @@ public Version putSysStore(K key, Versioned value) { this.sysStore.put(key, value, null); version = value.getVersion(); } catch(Exception e) { - logger.info("Exception caught during putSysStore:"); - e.printStackTrace(); + logger.info("Exception caught during putSysStore: " + e); + if(logger.isDebugEnabled()) { + e.printStackTrace(); + } } return version; } @@ -91,8 +95,10 @@ else if(items.size() > 1) else logger.debug("Got null value"); } catch(Exception e) { - logger.info("Exception caught during getSysStore:"); - e.printStackTrace(); + logger.info("Exception caught during getSysStore: " + e); + if(logger.isDebugEnabled()) { + e.printStackTrace(); + } } return versioned; } @@ -108,8 +114,10 @@ public V getValueSysStore(K key) { value = versioned.getValue(); } } catch(Exception e) { - logger.info("Exception caught during getSysStore:"); - e.printStackTrace(); + logger.info("Exception caught during getSysStore: " + e); + if(logger.isDebugEnabled()) { + e.printStackTrace(); + } } return value; } diff --git a/src/java/voldemort/utils/JmxUtils.java b/src/java/voldemort/utils/JmxUtils.java index 87cb62423c..c4d49a6ac8 100644 --- a/src/java/voldemort/utils/JmxUtils.java +++ b/src/java/voldemort/utils/JmxUtils.java @@ -68,6 +68,8 @@ public class JmxUtils { private static final Object LOCK = new Object(); private static final Logger logger = Logger.getLogger(JmxUtils.class); + public static final String MBEAN_NAME_SEPARATOR = "-"; + /** * Create a model mbean from an object using the description given in the * Jmx annotation if present. Only operations are supported so far, no @@ -350,4 +352,25 @@ public static void unregisterMbean(ObjectName name) { } } + /** + * Generate a mbean display name. If originalName is an empty string or + * null, return an empty string. Otherwise, return SEPARATOR + originalName. + * + * @param originalName The original name to be displayed + */ + public static String getJmxDisplayNameString(String originalName) { + return ((null == originalName) || "".equals(originalName)) ? "" + : (MBEAN_NAME_SEPARATOR + originalName); + } + + /** + * Generate a mbean display name. If originalName is 0, return an empty + * string. Otherwise, return SEPARATOR + originalName. + * + * @param originalName The original name to be displayed + */ + public static String getJmxDisplayNameString(int originalName) { + return (0 == originalName) ? "" : (MBEAN_NAME_SEPARATOR + originalName); + } + } diff --git a/test/common/voldemort/StaticStoreClientFactory.java b/test/common/voldemort/StaticStoreClientFactory.java index 3d48f24b06..4899125919 100644 --- a/test/common/voldemort/StaticStoreClientFactory.java +++ b/test/common/voldemort/StaticStoreClientFactory.java @@ -2,7 +2,6 @@ import java.util.Arrays; import java.util.List; -import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; import voldemort.client.DefaultStoreClient; @@ -41,17 +40,10 @@ public StaticStoreClientFactory(Store... stores) { failureDetector = new NoopFailureDetector(); } - @SuppressWarnings("unchecked") - public Store getRawStore(String storeName, - InconsistencyResolver> resolver, - UUID clientId) { - return (Store) stores.get(Math.max(current.getAndIncrement(), stores.size() - 1)); - } - @SuppressWarnings("unchecked") public Store getRawStore(String storeName, InconsistencyResolver> resolver) { - return getRawStore(storeName, resolver, null); + return (Store) stores.get(Math.max(current.getAndIncrement(), stores.size() - 1)); } @SuppressWarnings("unchecked") @@ -76,7 +68,6 @@ public FailureDetector getFailureDetector() { public Store getRawStore(String storeName, InconsistencyResolver> resolver, - UUID clientId, String storesXml, String clusterXml) { return null; diff --git a/test/unit/voldemort/client/ClientJmxTest.java b/test/unit/voldemort/client/ClientJmxTest.java index af178aebe8..cb67bb1ff7 100644 --- a/test/unit/voldemort/client/ClientJmxTest.java +++ b/test/unit/voldemort/client/ClientJmxTest.java @@ -16,6 +16,16 @@ import voldemort.server.AbstractSocketService; import voldemort.utils.JmxUtils; +/** + * + * @author lgao Note: this test suite was originally created for testing mbean + * registration with client context. Because changing mbean names can be + * difficult for customers who builds monitoring systems based on the + * mbean names. We need to give some more thoughts on using client + * context as part of mbean names. This test suit is just a place holder + * for now. + */ + public class ClientJmxTest extends AbstractStoreClientFactoryTest { private static String STATS_DOMAIN = "voldemort.store.stats"; @@ -88,11 +98,9 @@ public void testTwoClientContextOnJmx() throws Exception { getValidBootstrapUrl()).getStoreClient(getValidStoreName()); // checking for aggregate stats - ObjectName c1Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, clientContext1 - + ".aggregate-perf" + ObjectName c1Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, "aggregate-perf" + jmxId1); - ObjectName c2Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, clientContext2 - + ".aggregate-perf" + ObjectName c2Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, "aggregate-perf" + jmxId2); checkForMbeanFound(c1Name); checkForMbeanFound(c2Name); @@ -100,18 +108,12 @@ public void testTwoClientContextOnJmx() throws Exception { mbServer.unregisterMBean(c2Name); // checking for per store stats - String c1type = clientContext1 + ".test" + jmxId1; - String c2type = clientContext2 + ".test" + jmxId2; - c1Name = JmxUtils.createObjectName(STATS_DOMAIN, - c1type - + "." - + ((DefaultStoreClient) c1).getClientId() - .toString()); - c2Name = JmxUtils.createObjectName(STATS_DOMAIN, - c2type - + "." - + ((DefaultStoreClient) c2).getClientId() - .toString()); + String c1type = "test" + jmxId1; + String c2type = "test" + jmxId2; + c1Name = JmxUtils.createObjectName(STATS_DOMAIN, c1type); + + c2Name = JmxUtils.createObjectName(STATS_DOMAIN, c2type); + checkForMbeanFound(c1Name); checkForMbeanFound(c2Name); mbServer.unregisterMBean(c1Name); @@ -130,11 +132,9 @@ public void testSameContextOnJmx() throws Exception { } // checking for aggregate stats - ObjectName c1Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, clientContext - + ".aggregate-perf" + ObjectName c1Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, "aggregate-perf" + jmxId1); - ObjectName c2Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, clientContext - + ".aggregate-perf" + ObjectName c2Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, "aggregate-perf" + jmxId2); checkForMbeanFound(c1Name); checkForMbeanFound(c2Name); @@ -142,18 +142,10 @@ public void testSameContextOnJmx() throws Exception { mbServer.unregisterMBean(c2Name); // checking for per store stats - String c1type = clientContext + ".test" + jmxId1; - String c2type = clientContext + ".test" + jmxId2; - c1Name = JmxUtils.createObjectName(STATS_DOMAIN, - c1type - + "." - + ((DefaultStoreClient) clients[0]).getClientId() - .toString()); - c2Name = JmxUtils.createObjectName(STATS_DOMAIN, - c2type - + "." - + ((DefaultStoreClient) clients[1]).getClientId() - .toString()); + String c1type = "test" + jmxId1; + String c2type = "test" + jmxId2; + c1Name = JmxUtils.createObjectName(STATS_DOMAIN, c1type); + c2Name = JmxUtils.createObjectName(STATS_DOMAIN, c2type); checkForMbeanFound(c1Name); checkForMbeanFound(c2Name); mbServer.unregisterMBean(c1Name); @@ -162,7 +154,7 @@ public void testSameContextOnJmx() throws Exception { @Test public void testTwoClientNoContextOnJmx() throws Exception { - String clientContextCompare = "default"; + String clientContextCompare = ""; String jmxId1 = getAndIncrementJmxId(); String jmxId2 = getAndIncrementJmxId(); @@ -170,11 +162,9 @@ public void testTwoClientNoContextOnJmx() throws Exception { StoreClient c2 = getFactory(getValidBootstrapUrl()).getStoreClient(getValidStoreName()); // checking for aggregate stats - ObjectName c1Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, clientContextCompare - + ".aggregate-perf" + ObjectName c1Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, "aggregate-perf" + jmxId1); - ObjectName c2Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, clientContextCompare - + ".aggregate-perf" + ObjectName c2Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, "aggregate-perf" + jmxId2); checkForMbeanFound(c1Name); checkForMbeanFound(c2Name); @@ -182,18 +172,10 @@ public void testTwoClientNoContextOnJmx() throws Exception { mbServer.unregisterMBean(c2Name); // checking for per store stats - String c1type = clientContextCompare + ".test" + jmxId1; - String c2type = clientContextCompare + ".test" + jmxId2; - c1Name = JmxUtils.createObjectName(STATS_DOMAIN, - c1type - + "." - + ((DefaultStoreClient) c1).getClientId() - .toString()); - c2Name = JmxUtils.createObjectName(STATS_DOMAIN, - c2type - + "." - + ((DefaultStoreClient) c2).getClientId() - .toString()); + String c1type = clientContextCompare + "test" + jmxId1; + String c2type = clientContextCompare + "test" + jmxId2; + c1Name = JmxUtils.createObjectName(STATS_DOMAIN, c1type); + c2Name = JmxUtils.createObjectName(STATS_DOMAIN, c2type); checkForMbeanFound(c1Name); checkForMbeanFound(c2Name); mbServer.unregisterMBean(c1Name); @@ -210,11 +192,9 @@ public void testTwoClientNullContextOnJmx() throws Exception { StoreClient c2 = getFactoryWithClientContext(null, getValidBootstrapUrl()).getStoreClient(getValidStoreName()); // checking for aggregate stats - ObjectName c1Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, clientContextCompare - + ".aggregate-perf" + ObjectName c1Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, "aggregate-perf" + jmxId1); - ObjectName c2Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, clientContextCompare - + ".aggregate-perf" + ObjectName c2Name = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, "aggregate-perf" + jmxId2); checkForMbeanFound(c1Name); checkForMbeanFound(c2Name); @@ -222,18 +202,10 @@ public void testTwoClientNullContextOnJmx() throws Exception { mbServer.unregisterMBean(c2Name); // checking for per store stats - String c1type = clientContextCompare + ".test" + jmxId1; - String c2type = clientContextCompare + ".test" + jmxId2; - c1Name = JmxUtils.createObjectName(STATS_DOMAIN, - c1type - + "." - + ((DefaultStoreClient) c1).getClientId() - .toString()); - c2Name = JmxUtils.createObjectName(STATS_DOMAIN, - c2type - + "." - + ((DefaultStoreClient) c2).getClientId() - .toString()); + String c1type = clientContextCompare + "test" + jmxId1; + String c2type = clientContextCompare + "test" + jmxId2; + c1Name = JmxUtils.createObjectName(STATS_DOMAIN, c1type); + c2Name = JmxUtils.createObjectName(STATS_DOMAIN, c2type); checkForMbeanFound(c1Name); checkForMbeanFound(c2Name); mbServer.unregisterMBean(c1Name); @@ -252,24 +224,15 @@ public void testSameContextAndFactory() throws Exception { clients[i] = factory.getStoreClient(getValidStoreName()); } - ObjectName cName = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, clientContext - + ".aggregate-perf" + ObjectName cName = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, "aggregate-perf" + jmxId); checkForMbeanFound(cName); mbServer.unregisterMBean(cName); // checking for per store stats - String ctype = clientContext + ".test" + jmxId; - ObjectName c1Name = JmxUtils.createObjectName(STATS_DOMAIN, - ctype - + "." - + ((DefaultStoreClient) clients[0]).getClientId() - .toString()); - ObjectName c2Name = JmxUtils.createObjectName(STATS_DOMAIN, - ctype - + "." - + ((DefaultStoreClient) clients[1]).getClientId() - .toString()); + String ctype = "test" + jmxId; + ObjectName c1Name = JmxUtils.createObjectName(STATS_DOMAIN, ctype); + ObjectName c2Name = JmxUtils.createObjectName(STATS_DOMAIN, ctype); checkForMbeanFound(c1Name); checkForMbeanFound(c2Name); mbServer.unregisterMBean(c1Name); @@ -286,29 +249,20 @@ public void testDifferentId() throws Exception { clients[0] = factory.getStoreClient(getValidStoreName()); clients[1] = factory.getStoreClient(getValidStoreName()); - ObjectName cName = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, clientContext - + ".aggregate-perf" + ObjectName cName = JmxUtils.createObjectName(AGGREGATE_STATS_DOMAIN, "aggregate-perf" + jmxId); checkForMbeanFound(cName); mbServer.unregisterMBean(cName); // checking for per store stats - String ctype = clientContext + ".test" + jmxId; - ObjectName c1Name = JmxUtils.createObjectName(STATS_DOMAIN, - ctype - + "." - + ((DefaultStoreClient) clients[0]).getClientId() - .toString()); - ObjectName c2Name = JmxUtils.createObjectName(STATS_DOMAIN, - ctype - + "." - + ((DefaultStoreClient) clients[1]).getClientId() - .toString()); + String ctype = "test" + jmxId; + ObjectName c1Name = JmxUtils.createObjectName(STATS_DOMAIN, ctype); + ObjectName c2Name = JmxUtils.createObjectName(STATS_DOMAIN, ctype); checkForMbeanFound(c1Name); checkForMbeanFound(c2Name); - assertTrue(!c1Name.equals(c2Name)); + // assertTrue(!c1Name.equals(c2Name)); mbServer.unregisterMBean(c1Name); - mbServer.unregisterMBean(c2Name); + // mbServer.unregisterMBean(c2Name); } private void checkForMbeanFound(ObjectName name) {