Skip to content

Commit

Permalink
Adding unregisterMBean calls
Browse files Browse the repository at this point in the history
  • Loading branch information
vinothchandar committed Aug 30, 2012
1 parent 9bafcc8 commit 33c809e
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 16 deletions.
24 changes: 19 additions & 5 deletions src/java/voldemort/client/AbstractStoreClientFactory.java
Expand Up @@ -279,10 +279,12 @@ public FailureDetector getFailureDetector() {
result = failureDetector;
if(result == null) {
failureDetector = result = initFailureDetector(config, cluster.getNodes());
JmxUtils.registerMbean(failureDetector,
JmxUtils.createObjectName(JmxUtils.getPackageName(failureDetector.getClass()),
JmxUtils.getClassName(failureDetector.getClass())
+ JmxUtils.getJmxId(jmxId)));
if(isJmxEnabled) {
JmxUtils.registerMbean(failureDetector,
JmxUtils.createObjectName(JmxUtils.getPackageName(failureDetector.getClass()),
JmxUtils.getClassName(failureDetector.getClass())
+ JmxUtils.getJmxId(jmxId)));
}
}
}
}
Expand Down Expand Up @@ -403,7 +405,19 @@ public void close() {
this.threadPool.shutdownNow();
}

if(failureDetector != null)
if(failureDetector != null) {
failureDetector.destroy();
if(isJmxEnabled) {
JmxUtils.unregisterMbean(JmxUtils.createObjectName(JmxUtils.getPackageName(failureDetector.getClass()),
JmxUtils.getClassName(failureDetector.getClass())
+ JmxUtils.getJmxId(jmxId)));
JmxUtils.unregisterMbean(JmxUtils.createObjectName(JmxUtils.getPackageName(threadPool.getClass()),
JmxUtils.getClassName(threadPool.getClass())
+ JmxUtils.getJmxId(jmxId)));
JmxUtils.unregisterMbean(JmxUtils.createObjectName("voldemort.store.stats.aggregate",
"aggregate-perf"
+ JmxUtils.getJmxId(jmxId)));
}
}
}
}
14 changes: 12 additions & 2 deletions src/java/voldemort/store/routed/PipelineRoutedStore.java
Expand Up @@ -76,6 +76,8 @@ public class PipelineRoutedStore extends RoutedStore {
private Zone clientZone;
private boolean zoneRoutingEnabled;
private PipelineRoutedStats stats;
private boolean jmxEnabled;
private int jmxId;

/**
* Create a PipelineRoutedStore
Expand Down Expand Up @@ -131,11 +133,14 @@ public PipelineRoutedStore(String name,
this.handoffStrategy = null;
}

if(jmxEnabled) {
this.jmxEnabled = jmxEnabled;
this.jmxId = jmxId;
if(this.jmxEnabled) {
stats = new PipelineRoutedStats();
JmxUtils.registerMbean(stats,
JmxUtils.createObjectName(JmxUtils.getPackageName(stats.getClass()),
getName() + JmxUtils.getJmxId(jmxId)));
getName()
+ JmxUtils.getJmxId(this.jmxId)));
}
}

Expand Down Expand Up @@ -720,6 +725,11 @@ public void close() {
}
}

if(this.jmxEnabled) {
JmxUtils.unregisterMbean(JmxUtils.createObjectName(JmxUtils.getPackageName(stats.getClass()),
getName() + JmxUtils.getJmxId(jmxId)));
}

if(exception != null)
throw exception;

Expand Down
Expand Up @@ -49,26 +49,30 @@ public class ClientRequestExecutorPool implements SocketStoreFactory {
private final KeyedResourcePool<SocketDestination, ClientRequestExecutor> pool;
private final ClientRequestExecutorFactory factory;
private final ClientSocketStats stats;
private final boolean jmxEnabled;
private final int jmxId;

public ClientRequestExecutorPool(int selectors,
int maxConnectionsPerNode,
int connectionTimeoutMs,
int soTimeoutMs,
int socketBufferSize,
boolean socketKeepAlive,
boolean enableJmx,
boolean jmxEnabled,
int jmxId) {
ResourcePoolConfig config = new ResourcePoolConfig().setIsFair(true)
.setMaxPoolSize(maxConnectionsPerNode)
.setMaxInvalidAttempts(maxConnectionsPerNode)
.setTimeout(connectionTimeoutMs,
TimeUnit.MILLISECONDS);
if(enableJmx) {
this.jmxEnabled = jmxEnabled;
this.jmxId = jmxId;
if(this.jmxEnabled) {
stats = new ClientSocketStats(jmxId);
JmxUtils.registerMbean(new ClientSocketStatsJmx(stats),
JmxUtils.createObjectName(JmxUtils.getPackageName(this.getClass()),
"aggregated"
+ JmxUtils.getJmxId(jmxId)));
+ JmxUtils.getJmxId(this.jmxId)));
} else {
stats = null;
}
Expand Down Expand Up @@ -180,8 +184,10 @@ public void close() {
// unregister MBeans
if(stats != null) {
try {
JmxUtils.unregisterMbean(JmxUtils.createObjectName(JmxUtils.getPackageName(ClientRequestExecutor.class),
"aggregated"));
if(this.jmxEnabled)
JmxUtils.unregisterMbean(JmxUtils.createObjectName(JmxUtils.getPackageName(this.getClass()),
"aggregated"
+ JmxUtils.getJmxId(this.jmxId)));
} catch(Exception e) {}
stats.close();
}
Expand Down
3 changes: 2 additions & 1 deletion src/java/voldemort/store/stats/ClientSocketStats.java
Expand Up @@ -236,7 +236,8 @@ public void close() {
"stats_"
+ destination.toString()
.replace(':',
'_')));
'_')
+ JmxUtils.getJmxId(jmxId)));
} catch(Exception e) {}
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/java/voldemort/xml/StoreDefinitionsMapper.java
Expand Up @@ -228,9 +228,9 @@ private StoreDefinition readStore(Element store) {
Element throttleRate = store.getChild(STORE_RETENTION_SCAN_THROTTLE_RATE_ELMT);
if(throttleRate != null)
retentionThrottleRate = Integer.parseInt(throttleRate.getText());
Element retentionFreqElement = store.getChild(STORE_RETENTION_FREQ_ELMT);
if(retentionFreqElement != null)
retentionFreqDays = Integer.parseInt(retentionFreqElement.getText());
Element retentionFreqDaysElement = store.getChild(STORE_RETENTION_FREQ_ELMT);
if(retentionFreqDaysElement != null)
retentionFreqDays = Integer.parseInt(retentionFreqDaysElement.getText());
}

if(routingStrategyType.compareTo(RoutingStrategyType.ZONE_STRATEGY) == 0) {
Expand Down

0 comments on commit 33c809e

Please sign in to comment.