Mukul Kumar Singh created HDDS-114:
--------------------------------------

             Summary: Ozone Datanode mbean registration fails for 
StorageLocation
                 Key: HDDS-114
                 URL: https://issues.apache.org/jira/browse/HDDS-114
             Project: Hadoop Distributed Data Store
          Issue Type: Bug
          Components: Ozone Datanode
    Affects Versions: 0.2.1
            Reporter: Mukul Kumar Singh
            Assignee: Mukul Kumar Singh


mbeans registration fails on Ozone Datanode fails with the following exception.

{code}
2018-05-22 22:13:26,733 WARN  util.MBeans (MBeans.java:register(109)) - Failed 
to register MBean "Hadoop:service=OzoneDataNode,name=ContainerLocationManager"
javax.management.NotCompliantMBeanException: 
org.apache.hadoop.ozone.container.common.interfaces.ContainerLocationManagerMXBean:
 Method 
org.apache.hadoop.ozone.container.common.interfaces.ContainerLocationManagerMXBean.getLocationReport
 has parameter or return type that cannot be translated into an open type
        at 
com.sun.jmx.mbeanserver.Introspector.throwException(Introspector.java:466)
        at com.sun.jmx.mbeanserver.MBeanAnalyzer.<init>(MBeanAnalyzer.java:120)
        at 
com.sun.jmx.mbeanserver.MBeanAnalyzer.analyzer(MBeanAnalyzer.java:102)
        at 
com.sun.jmx.mbeanserver.MXBeanIntrospector.getAnalyzer(MXBeanIntrospector.java:74)
        at 
com.sun.jmx.mbeanserver.MBeanIntrospector.getPerInterface(MBeanIntrospector.java:192)
        at com.sun.jmx.mbeanserver.MBeanSupport.<init>(MBeanSupport.java:138)
        at com.sun.jmx.mbeanserver.MXBeanSupport.<init>(MXBeanSupport.java:66)
        at 
com.sun.jmx.mbeanserver.Introspector.makeDynamicMBean(Introspector.java:202)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:898)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
        at 
com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
        at org.apache.hadoop.metrics2.util.MBeans.register(MBeans.java:98)
        at org.apache.hadoop.metrics2.util.MBeans.register(MBeans.java:72)
        at 
org.apache.hadoop.ozone.container.common.impl.ContainerLocationManagerImpl.<init>(ContainerLocationManagerImpl.java:75)
        at 
org.apache.hadoop.ozone.container.common.impl.ContainerManagerImpl.init(ContainerManagerImpl.java:202)
        at 
org.apache.hadoop.ozone.container.ozoneimpl.OzoneContainer.<init>(OzoneContainer.java:108)
        at 
org.apache.hadoop.ozone.container.common.statemachine.DatanodeStateMachine.<init>(DatanodeStateMachine.java:84)
        at 
org.apache.hadoop.ozone.HddsDatanodeService.start(HddsDatanodeService.java:98)
        at 
org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.lambda$build$0(MiniOzoneClusterImpl.java:295)
        at java.util.ArrayList.forEach(ArrayList.java:1257)
        at 
org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.build(MiniOzoneClusterImpl.java:295)
        at 
org.apache.hadoop.ozone.TestStorageContainerManager.testBlockDeletionTransactions(TestStorageContainerManager.java:202)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at 
org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
Caused by: java.lang.IllegalArgumentException: Method 
org.apache.hadoop.ozone.container.common.interfaces.ContainerLocationManagerMXBean.getLocationReport
 has parameter or return type that cannot be translated into an open type
        at 
com.sun.jmx.mbeanserver.ConvertingMethod.from(ConvertingMethod.java:46)
        at 
com.sun.jmx.mbeanserver.MXBeanIntrospector.mFrom(MXBeanIntrospector.java:84)
        at 
com.sun.jmx.mbeanserver.MXBeanIntrospector.mFrom(MXBeanIntrospector.java:54)
        at 
com.sun.jmx.mbeanserver.MBeanAnalyzer.initMaps(MBeanAnalyzer.java:137)
        at com.sun.jmx.mbeanserver.MBeanAnalyzer.<init>(MBeanAnalyzer.java:118)
        ... 29 more
Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: 
org.apache.hadoop.ozone.container.common.impl.StorageLocationReport[]
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.openDataException(DefaultMXBeanMappingFactory.java:1465)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:260)
        at 
com.sun.jmx.mbeanserver.ConvertingMethod.<init>(ConvertingMethod.java:212)
        at 
com.sun.jmx.mbeanserver.ConvertingMethod.from(ConvertingMethod.java:41)
        ... 33 more
Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: 
org.apache.hadoop.ozone.container.common.impl.StorageLocationReport
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.openDataException(DefaultMXBeanMappingFactory.java:1465)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:260)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeArrayOrCollectionMapping(DefaultMXBeanMappingFactory.java:318)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeMapping(DefaultMXBeanMappingFactory.java:288)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:258)
        ... 35 more
Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: 
org.apache.hadoop.hdds.protocol.proto.StorageContainerDatanodeProtocolProtos$SCMStorageReport
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.openDataException(DefaultMXBeanMappingFactory.java:1465)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:260)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeCompositeMapping(DefaultMXBeanMappingFactory.java:472)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeMapping(DefaultMXBeanMappingFactory.java:293)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:258)
        ... 38 more
Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: 
java.util.Map<com.google.protobuf.Descriptors$FieldDescriptor, java.lang.Object>
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.openDataException(DefaultMXBeanMappingFactory.java:1465)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:260)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeCompositeMapping(DefaultMXBeanMappingFactory.java:472)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeMapping(DefaultMXBeanMappingFactory.java:293)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:258)
        ... 41 more
Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: 
com.google.protobuf.Descriptors$FieldDescriptor
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.openDataException(DefaultMXBeanMappingFactory.java:1465)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:260)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeTabularMapping(DefaultMXBeanMappingFactory.java:362)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeParameterizedTypeMapping(DefaultMXBeanMappingFactory.java:405)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeMapping(DefaultMXBeanMappingFactory.java:296)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:258)
        ... 44 more
Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: 
com.google.protobuf.Descriptors$Descriptor
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.openDataException(DefaultMXBeanMappingFactory.java:1465)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:260)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeCompositeMapping(DefaultMXBeanMappingFactory.java:472)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeMapping(DefaultMXBeanMappingFactory.java:293)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:258)
        ... 48 more
Caused by: javax.management.openmbean.OpenDataException: Recursive data 
structure, including com.google.protobuf.Descriptors$Descriptor
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:247)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeCompositeMapping(DefaultMXBeanMappingFactory.java:472)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeMapping(DefaultMXBeanMappingFactory.java:293)
        at 
com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappingForType(DefaultMXBeanMappingFactory.java:258)
        ... 51 more
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org

Reply via email to