stack created HBASE-5971: ---------------------------- Summary: ServerLoad needs redo; can't be pb based Key: HBASE-5971 URL: https://issues.apache.org/jira/browse/HBASE-5971 Project: HBase Issue Type: Bug Components: metrics Reporter: stack Priority: Blocker Fix For: 0.96.0
Here is what happens when we try to register server bean: {code} javax.management.NotCompliantMBeanException: org.apache.hadoop.hbase.master.MXBean: Method org.apache.hadoop.hbase.master.MXBean.getRegionServers has parameter or return type that cannot be translated into an open type at com.sun.jmx.mbeanserver.Introspector.throwException(Introspector.java:412) at com.sun.jmx.mbeanserver.MBeanAnalyzer.<init>(MBeanAnalyzer.java:101) at com.sun.jmx.mbeanserver.MBeanAnalyzer.analyzer(MBeanAnalyzer.java:87) at com.sun.jmx.mbeanserver.MXBeanIntrospector.getAnalyzer(MXBeanIntrospector.java:53) at com.sun.jmx.mbeanserver.MBeanIntrospector.getPerInterface(MBeanIntrospector.java:163) at com.sun.jmx.mbeanserver.MBeanSupport.<init>(MBeanSupport.java:147) at com.sun.jmx.mbeanserver.MXBeanSupport.<init>(MXBeanSupport.java:48) at com.sun.jmx.mbeanserver.Introspector.makeDynamicMBean(Introspector.java:184) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:915) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312) at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482) at org.apache.hadoop.metrics.util.MBeanUtil.registerMBean(MBeanUtil.java:58) at org.apache.hadoop.hbase.master.HMaster.registerMBean(HMaster.java:1926) at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:617) at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:367) at java.lang.Thread.run(Thread.java:680) Caused by: java.lang.IllegalArgumentException: Method org.apache.hadoop.hbase.master.MXBean.getRegionServers has parameter or return type that cannot be translated into an open type at com.sun.jmx.mbeanserver.ConvertingMethod.from(ConvertingMethod.java:32) at com.sun.jmx.mbeanserver.MXBeanIntrospector.mFrom(MXBeanIntrospector.java:63) at com.sun.jmx.mbeanserver.MXBeanIntrospector.mFrom(MXBeanIntrospector.java:33) at com.sun.jmx.mbeanserver.MBeanAnalyzer.initMaps(MBeanAnalyzer.java:118) at com.sun.jmx.mbeanserver.MBeanAnalyzer.<init>(MBeanAnalyzer.java:99) ... 14 more Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: java.util.Map<java.lang.String, org.apache.hadoop.hbase.ServerLoad> at com.sun.jmx.mbeanserver.OpenConverter.openDataException(OpenConverter.java:1411) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:264) at com.sun.jmx.mbeanserver.ConvertingMethod.<init>(ConvertingMethod.java:184) at com.sun.jmx.mbeanserver.ConvertingMethod.from(ConvertingMethod.java:27) ... 18 more Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: class org.apache.hadoop.hbase.ServerLoad at com.sun.jmx.mbeanserver.OpenConverter.openDataException(OpenConverter.java:1411) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:264) at com.sun.jmx.mbeanserver.OpenConverter.makeTabularConverter(OpenConverter.java:360) at com.sun.jmx.mbeanserver.OpenConverter.makeParameterizedConverter(OpenConverter.java:402) at com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:296) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:262) ... 20 more Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: java.util.List<org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$Coprocessor> at com.sun.jmx.mbeanserver.OpenConverter.openDataException(OpenConverter.java:1411) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:264) at com.sun.jmx.mbeanserver.OpenConverter.makeCompositeConverter(OpenConverter.java:467) at com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:293) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:262) ... 24 more Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: class org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$Coprocessor at com.sun.jmx.mbeanserver.OpenConverter.openDataException(OpenConverter.java:1411) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:264) at com.sun.jmx.mbeanserver.OpenConverter.makeArrayOrCollectionConverter(OpenConverter.java:315) at com.sun.jmx.mbeanserver.OpenConverter.makeParameterizedConverter(OpenConverter.java:393) at com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:296) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:262) ... 27 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.OpenConverter.openDataException(OpenConverter.java:1411) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:264) at com.sun.jmx.mbeanserver.OpenConverter.makeCompositeConverter(OpenConverter.java:467) at com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:293) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:262) ... 31 more Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: class com.google.protobuf.Descriptors$FieldDescriptor at com.sun.jmx.mbeanserver.OpenConverter.openDataException(OpenConverter.java:1411) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:264) at com.sun.jmx.mbeanserver.OpenConverter.makeTabularConverter(OpenConverter.java:359) at com.sun.jmx.mbeanserver.OpenConverter.makeParameterizedConverter(OpenConverter.java:402) at com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:296) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:262) ... 34 more Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: class com.google.protobuf.Descriptors$Descriptor at com.sun.jmx.mbeanserver.OpenConverter.openDataException(OpenConverter.java:1411) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:264) at com.sun.jmx.mbeanserver.OpenConverter.makeCompositeConverter(OpenConverter.java:467) at com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:293) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:262) ... 38 more Caused by: javax.management.openmbean.OpenDataException: Recursive data structure, including com.google.protobuf.Descriptors$Descriptor at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:250) at com.sun.jmx.mbeanserver.OpenConverter.makeCompositeConverter(OpenConverter.java:467) at com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:293) at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:262) ... 41 more {code} On the 'Recursive data structure', jmx open mbean is really helpful suggesting that you just need to rewrite the recursive data structure. I'll have a go at this later.... tracking something else at mo. -- 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