Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-1835

ShardStatsMXBean is not a valid JMX MXBean, due to isActive in FollowerInfo

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • Fluorine, Oxygen SR3
    • None
    • None
    • None

      While working onĀ GENIUS-138, and trying to programmatically access the org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard.ShardStatsMXBean, I've run into this obscure internal Java JMX problem, somehow it's not happy:

      2018-06-08T15:19:38,504 | ERROR | pipe-diagstatus:showSvcStatus | DatastoreServiceStatusProvider   | 269 - org.opendaylight.genius.mdsalutil-impl - 0.5.0.SNAPSHOT | Unable to obtain the datastore status
      java.lang.IllegalArgumentException: Cannot make MXBean proxy for org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard.ShardStatsMXBean: java.io.InvalidObjectException: @ConstructorProperties includes name isActive which does not correspond t
      o a property: public org.opendaylight.controller.cluster.raft.client.messages.FollowerInfo(java.lang.String,long,long,boolean,java.lang.String,boolean)
              at com.sun.jmx.mbeanserver.ConvertingMethod.checkCallToOpen(ConvertingMethod.java:110) ~[?:?]
              at com.sun.jmx.mbeanserver.MXBeanProxy$Visitor.visitAttribute(MXBeanProxy.java:69) ~[?:?]
              at com.sun.jmx.mbeanserver.MXBeanProxy$Visitor.visitAttribute(MXBeanProxy.java:63) ~[?:?]
              at com.sun.jmx.mbeanserver.MBeanAnalyzer.visit(MBeanAnalyzer.java:68) ~[?:?]
              at com.sun.jmx.mbeanserver.MXBeanProxy.<init>(MXBeanProxy.java:60) ~[?:?]
              at javax.management.MBeanServerInvocationHandler.findMXBeanProxy(MBeanServerInvocationHandler.java:329) [?:?]
              at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:257) [?:?]
              at com.sun.proxy.$Proxy121.getRaftState(Unknown Source) [238:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
              at org.opendaylight.genius.mdsalutil.diagstatus.internal.DatastoreServiceStatusProvider.getServiceDescriptor(DatastoreServiceStatusProvider.java:89) [269:org.opendaylight.genius.mdsalutil-impl:0.5.0.SNAPSHOT]
              at Proxy07f8416e_a9cc_446d_a969_8d6bd755a3cf.getServiceDescriptor(Unknown Source) [?:?]
              at Proxya1570310_6cef_4b38_9f78_f015bdbdeecf.getServiceDescriptor(Unknown Source) [?:?]
              at org.opendaylight.infrautils.diagstatus.internal.DiagStatusServiceImpl.updateServiceStatusMap(DiagStatusServiceImpl.java:142) [283:org.opendaylight.infrautils.diagstatus-impl:1.4.0.SNAPSHOT]
              at org.opendaylight.infrautils.diagstatus.internal.DiagStatusServiceImpl.getAllServiceDescriptors(DiagStatusServiceImpl.java:88) [283:org.opendaylight.infrautils.diagstatus-impl:1.4.0.SNAPSHOT]
              at org.opendaylight.infrautils.diagstatus.internal.DiagStatusServiceImpl.isOperational(DiagStatusServiceImpl.java:97) [283:org.opendaylight.infrautils.diagstatus-impl:1.4.0.SNAPSHOT]
              at org.opendaylight.infrautils.diagstatus.internal.DiagStatusServiceMBeanImpl.acquireServiceStatusDetailed(DiagStatusServiceMBeanImpl.java:120) [283:org.opendaylight.infrautils.diagstatus-impl:1.4.0.SNAPSHOT]
              at Proxy56729cd8_0640_4be6_ac4b_b529beff2369.acquireServiceStatusDetailed(Unknown Source) [?:?]
              at org.opendaylight.infrautils.diagstatus.shell.DiagStatusCommand.getLocalStatusSummary(DiagStatusCommand.java:77) [284:org.opendaylight.infrautils.diagstatus-shell:1.4.0.SNAPSHOT]
              at org.opendaylight.infrautils.diagstatus.shell.DiagStatusCommand.execute(DiagStatusCommand.java:56) [284:org.opendaylight.infrautils.diagstatus-shell:1.4.0.SNAPSHOT]
              at org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:84) [49:org.apache.karaf.shell.core:4.1.5]

      I'll try to figure out what it takes to make it happy...

      tpantelis FYI. Also skitt FYI thought this may interest you.

            vorburger Michael Vorburger
            vorburger Michael Vorburger
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: