Selaa lähdekoodia

HADOOP-8452. DN logs backtrace when running under jsvc and /jmx is loaded (Andy Isaacson via bobby)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1344733 13f79535-47bb-0310-9956-ffa450edef68
Robert Joseph Evans 13 vuotta sitten
vanhempi
commit
8d559d2d9a

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -219,6 +219,9 @@ Release 2.0.1-alpha - UNRELEASED
     FileContextMainOperationsBaseTest.java to avoid potential
     test failure (Madhukara Phatak via harsh)
 
+    HADOOP-8452. DN logs backtrace when running under jsvc and /jmx is loaded 
+    (Andy Isaacson via bobby)
+
 Release 2.0.0-alpha - UNRELEASED
 
   INCOMPATIBLE CHANGES

+ 6 - 0
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/jmx/JMXJsonServlet.java

@@ -34,6 +34,7 @@ import javax.management.MBeanServer;
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 import javax.management.ReflectionException;
+import javax.management.RuntimeErrorException;
 import javax.management.RuntimeMBeanException;
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.CompositeType;
@@ -317,6 +318,11 @@ public class JMXJsonServlet extends HttpServlet {
         LOG.error("getting attribute "+attName+" of "+oname+" threw an exception", e);
       }
       return;
+    } catch (RuntimeErrorException e) {
+      // RuntimeErrorException happens when an unexpected failure occurs in getAttribute
+      // for example https://issues.apache.org/jira/browse/DAEMON-120
+      LOG.debug("getting attribute "+attName+" of "+oname+" threw an exception", e);
+      return;
     } catch (AttributeNotFoundException e) {
       //Ignored the attribute was not found, which should never happen because the bean
       //just told us that it has this attribute, but if this happens just don't output