Uploaded image for project: 'Embedded Jopr'
  1. Embedded Jopr
  2. EMBJOPR-367

subtype=QueueManage temporarily disappears from ManagementView compByCompType resulting in "There are currently no numeric metrics available." being displayed on JMS Manager/JMS Queues/* metric page

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 1.3.4.SP5
    • Fix Version/s: 1.3.4.SP6
    • Component/s: Plugin
    • Environment:

      JBoss EAP 5.1.2 with HornetQ installed using the all server profile

    • Steps to Reproduce:
      Hide

      1. Start EAP 5.1.2 all profile with HornetQ installed
      2. Navigate to http://localhost:8080/admin-console
      3. After log-in, from the navigation tree, expand and select localhost.localdomain / JBossAS Servers / JBoss EAP 5 (all) / JMS Manager / JMS Queues / jms.queue.DLQ
      4. Select the Metrics tab
      5. Repeatedly click the Refresh button until the issue occurs (normally a click every 3 or 4 seconds for a minute should do it)

      Show
      1. Start EAP 5.1.2 all profile with HornetQ installed 2. Navigate to http://localhost:8080/admin-console 3. After log-in, from the navigation tree, expand and select localhost.localdomain / JBossAS Servers / JBoss EAP 5 (all) / JMS Manager / JMS Queues / jms.queue.DLQ 4. Select the Metrics tab 5. Repeatedly click the Refresh button until the issue occurs (normally a click every 3 or 4 seconds for a minute should do it)
    • Bugzilla Update:
      Perform

      Description

      Very frequently, the metrics for a queue will fail to be loaded due to the managed component type that represents a queue being dropped from ProfileSerivce's component type list.

      The result is the admin-consle displays the following message (see screenshot1.png):

      Numeric Metrics

      There are currently no numeric metrics available.

      From the server.log, the following error is logged at debug:

      DEBUG [org.rhq.core.pc.inventory.ResourceContainer$ResourceComponentInvocationHandler] (http-0.0.0.0-8080-2) Call to [org.jboss.as.integration.hornetq.jopr.JMSQueueComponent.getValues()] with args [[org.rhq.core.domain.measurement.MeasurementReport@560399f8, [MeasurementScheduleRequest[scheduleId=1, name=getDeliveringCount, interval=0, enabled=true, dataType=MEASUREMENT, rawNumericType=null], MeasurementScheduleRequest[scheduleId=1, name=getMessageCount, interval=0, enabled=true, dataType=MEASUREMENT, rawNumericType=null], MeasurementScheduleRequest[scheduleId=1, name=getConsumerCount, interval=0, enabled=true, dataType=MEASUREMENT, rawNumericType=null], MeasurementScheduleRequest[scheduleId=1, name=getMessagesAdded, interval=0, enabled=true, dataType=MEASUREMENT, rawNumericType=null], MeasurementScheduleRequest[scheduleId=1, name=getScheduledCount, interval=0, enabled=true, dataType=MEASUREMENT, rawNumericType=null]]]] failed.
      java.util.concurrent.ExecutionException: java.lang.NullPointerException
      at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:262)
      at java.util.concurrent.FutureTask.get(FutureTask.java:119)
      at org.rhq.core.pc.inventory.ResourceContainer$ResourceComponentInvocationHandler.invokeInNewThreadWithLock(ResourceContainer.java:446)
      at org.rhq.core.pc.inventory.ResourceContainer$ResourceComponentInvocationHandler.invoke(ResourceContainer.java:434)
      at $Proxy193.getValues(Unknown Source)
      at org.rhq.core.pc.measurement.MeasurementManager.getRealTimeMeasurementValue(MeasurementManager.java:435)
      at org.jboss.on.embedded.bean.MeasurementUtils.loadMeasurementData(MeasurementUtils.java:126)
      at org.jboss.on.embedded.ui.MetricAction.view(MetricAction.java:107)
      ...
      Caused by: java.lang.NullPointerException
      at org.jboss.as.integration.hornetq.jopr.util.ManagementSupport.getOperation(ManagementSupport.java:40)
      at org.jboss.as.integration.hornetq.jopr.JMSResourceComponent.getValues(JMSResourceComponent.java:86)
      at sun.reflect.GeneratedMethodAccessor622.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocationThread.call(ResourceContainer.java:525)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      ... 1 more

      Upon investigation of the code, the issue is that ComponentType

      {type=JMSDestinationManage, subtype=QueueManage}

      temporarily disappears from org.jboss.profileservice.management.ManagementViewImpl.compByCompType resulting in `null` being returned as the component and this component making its way back out to the HornetQ plug-in.

      I am not certain why the subtype vanishes from the management view. It seems that this is happening during resource discovery so perhaps the resource discovery process is using the same management view object that is being used by the plug-ins from the plug-in container.

      In either case, this issue occurs quite frequently.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  nstefan Stefan Negrea
                  Reporter:
                  loleary Larry O'Leary
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: