You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2009/05/12 19:56:31 UTC
svn commit: r774002 - in
/incubator/cassandra/trunk/src/java/org/apache/cassandra:
concurrent/DebuggableThreadPoolExecutor.java db/Memtable.java
Author: jbellis
Date: Tue May 12 17:56:31 2009
New Revision: 774002
URL: http://svn.apache.org/viewvc?rev=774002&view=rev
Log:
unregister mbean on flush. patch by daishi; reviewed by jbellis for CASSANDRA-157
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutor.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutor.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutor.java?rev=774002&r1=774001&r2=774002&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutor.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutor.java Tue May 12 17:56:31 2009
@@ -38,6 +38,7 @@
{
private static Logger logger_ = Logger.getLogger(DebuggableThreadPoolExecutor.class);
+ private ObjectName objName;
public DebuggableThreadPoolExecutor(String threadPoolName)
{
this(1, 1, Integer.MAX_VALUE, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(), new ThreadFactoryImpl(threadPoolName));
@@ -55,7 +56,21 @@
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
try
{
- mbs.registerMBean(this, new ObjectName("org.apache.cassandra.concurrent:type=" + threadFactory.id_));
+ objName = new ObjectName("org.apache.cassandra.concurrent:type=" + threadFactory.id_);
+ mbs.registerMBean(this, objName);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public void unregisterMBean()
+ {
+ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+ try
+ {
+ mbs.unregisterMBean(objName);
}
catch (Exception e)
{
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java?rev=774002&r1=774001&r2=774002&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java Tue May 12 17:56:31 2009
@@ -384,6 +384,7 @@
{
flushQueuer.run();
}
+ this.unregisterMBean();
}
public void flushWhenTerminated(final CommitLog.CommitLogContext cLogCtx)