Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-5971

ServerLoad needs redo; can't be pb based

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Not A Problem
    • None
    • None
    • metrics
    • None

    Description

      Here is what happens when we try to register server bean:

      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
      

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            stack Michael Stack
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: