You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Elias Ross (JIRA)" <ji...@apache.org> on 2012/05/11 00:54:48 UTC

[jira] [Created] (HADOOP-8389) MetricsDynamicMBeanBase throws IllegalArgumentException for empty attribute list

Elias Ross created HADOOP-8389:
----------------------------------

             Summary: MetricsDynamicMBeanBase throws IllegalArgumentException for empty attribute list
                 Key: HADOOP-8389
                 URL: https://issues.apache.org/jira/browse/HADOOP-8389
             Project: Hadoop Common
          Issue Type: Bug
          Components: metrics
            Reporter: Elias Ross


MetricsDynamicMBeanBase.java

  @Override
  public AttributeList getAttributes(String[] attributeNames) {
    if (attributeNames == null || attributeNames.length == 0)
      throw new IllegalArgumentException();
   
The second clause isn't necessary.

There's some code used by management software (RHQ) that occasionally will query with an empty list. 

Here is the stack trace.

Caused by: java.lang.IllegalArgumentException
        at org.apache.hadoop.metrics.util.MetricsDynamicMBeanBase.getAttributes(MetricsDynamicMBeanBase.java:173)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttributes(DefaultMBeanServerInterceptor.java:726)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttributes(JmxMBeanServer.java:665)
        at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1407)
        at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
        at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1264)
        at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1359)
        at javax.management.remote.rmi.RMIConnectionImpl.getAttributes(RMIConnectionImpl.java:636)
        at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
        at sun.rmi.transport.Transport$1.run(Transport.java:159)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
        ... 3 more


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira