Browse Source

ZOOKEEPER-1873. Unnecessarily InstanceNotFoundException is coming when unregister failed jmxbeans (Rakesh R via michim)

git-svn-id: https://svn.apache.org/repos/asf/zookeeper/trunk@1567489 13f79535-47bb-0310-9956-ffa450edef68
Michi Mutsuzaki 11 years ago
parent
commit
87dbab3b7c
2 changed files with 6 additions and 3 deletions
  1. 4 1
      CHANGES.txt
  2. 2 2
      src/java/main/org/apache/zookeeper/jmx/MBeanRegistry.java

+ 4 - 1
CHANGES.txt

@@ -547,9 +547,12 @@ BUGFIXES:
   ZOOKEEPER-1811. The ZooKeeperSaslClient service name principal is
   hardcoded to "zookeeper" (Harsh J via phunt)
 
-  ZOOKEEPER-1874 Add proper teardown/cleanups in ReconfigTest to shutdown
+  ZOOKEEPER-1874. Add proper teardown/cleanups in ReconfigTest to shutdown
   quorumpeer (Rakesh R and Germán Blanco via michim)
 
+  ZOOKEEPER-1873. Unnecessarily InstanceNotFoundException is coming when
+  unregister failed jmxbeans (Rakesh R via michim)
+
 IMPROVEMENTS:
 
   ZOOKEEPER-1170. Fix compiler (eclipse) warnings: unused imports,

+ 2 - 2
src/java/main/org/apache/zookeeper/jmx/MBeanRegistry.java

@@ -89,13 +89,13 @@ public class MBeanRegistry {
             assert path != null;
         }
         path = makeFullPath(path, parent);
-        mapBean2Path.put(bean, path);
-        mapName2Bean.put(bean.getName(), bean);
         if(bean.isHidden())
             return;
         ObjectName oname = makeObjectName(path, bean);
         try {
             mBeanServer.registerMBean(bean, oname);
+            mapBean2Path.put(bean, path);
+            mapName2Bean.put(bean.getName(), bean);
         } catch (JMException e) {
             LOG.warn("Failed to register MBean " + bean.getName());
             throw e;