[ 
https://issues.apache.org/jira/browse/HDDS-114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Elek, Marton reassigned HDDS-114:
---------------------------------

    Assignee: Elek, Marton  (was: Mukul Kumar Singh)

> 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: Elek, Marton
>            Priority: Blocker
>         Attachments: HDDS-114.001.patch
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to