mirror of https://github.com/apache/cassandra
unregister CF mbean when a CF is dropped. patch by gdusbabek, reviewed by jbellis. CASSANDRA-1334
git-svn-id: https://svn.apache.org/repos/asf/cassandra/trunk@982023 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
5e1abef0b0
commit
55a11e053e
|
|
@ -138,7 +138,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
|
|||
{
|
||||
assert metadata != null : "null metadata for " + table + ":" + columnFamilyName;
|
||||
table_ = table;
|
||||
columnFamily_ = columnFamilyName;
|
||||
columnFamily_ = columnFamilyName;
|
||||
this.metadata = metadata;
|
||||
this.partitioner_ = partitioner;
|
||||
fileIndexGenerator_.set(generation);
|
||||
|
|
@ -251,6 +251,11 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
|
|||
indexedColumns_.put(column, indexedCfs);
|
||||
}
|
||||
}
|
||||
|
||||
String getMBeanName()
|
||||
{
|
||||
return "org.apache.cassandra.db:type=ColumnFamilyStores,keyspace=" + table_ + ",columnfamily=" + columnFamily_;
|
||||
}
|
||||
|
||||
public long getMinRowSize()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ public class Table
|
|||
columnFamilyStores.put(cfm.cfId, cfs);
|
||||
try
|
||||
{
|
||||
ObjectName mbeanName = new ObjectName("org.apache.cassandra.db:type=ColumnFamilyStores,keyspace=" + table + ",columnfamily=" + cfm.cfName);
|
||||
ObjectName mbeanName = new ObjectName(cfs.getMBeanName());
|
||||
if (mbs.isRegistered(mbeanName))
|
||||
mbs.unregisterMBean(mbeanName);
|
||||
mbs.registerMBean(cfs, mbeanName);
|
||||
|
|
@ -292,6 +292,20 @@ public class Table
|
|||
{
|
||||
throw new IOException(e);
|
||||
}
|
||||
|
||||
// unregister mbean.
|
||||
try
|
||||
{
|
||||
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
|
||||
ObjectName mbeanName = new ObjectName(cfs.getMBeanName());
|
||||
if (mbs.isRegistered(mbeanName))
|
||||
mbs.unregisterMBean(mbeanName);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
// I'm not going to let this block the drop.
|
||||
logger.warn(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue