Bug 1309747 - [GSS](6.4.z) JMX inefficiently handles resource adapters
[GSS](6.4.z) JMX inefficiently handles resource adapters
Status: CLOSED CURRENTRELEASE
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: JCA (Show other bugs)
6.4.6
Unspecified Unspecified
urgent Severity urgent
: CR1
: EAP 6.4.8
Assigned To: Ivo Studensky
Peter Mackay
:
Depends On:
Blocks: 1312370 eap648-payload
  Show dependency treegraph
 
Reported: 2016-02-18 10:31 EST by Aaron Ogburn
Modified: 2017-01-17 07:38 EST (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-01-17 07:38:20 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker JBEAP-3498 Blocker Closed JMX inefficiently handles resource adapters 2017-12-12 03:56 EST
Red Hat Knowledge Base (Solution) 2178241 None None None 2016-02-25 09:33 EST

  None (edit)
Description Aaron Ogburn 2016-02-18 10:31:01 EST
Description of problem:

If you connect to JBoss over JMX when it has many rars deployed (over 500), long running high CPU is seen in the following calls:

        at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:188)
        at org.jboss.as.jmx.model.ResourceAccessControlUtil.getResourceAccess(ResourceAccessControlUtil.java:85)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:51)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:61)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:61)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:61)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:61)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:61)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:61)
        at org.jboss.as.jmx.model.RootResourceIterator.iterate(RootResourceIterator.java:43)

Version-Release number of selected component (if applicable):


How reproducible:

Very

Steps to Reproduce:
1. Deploy many individual rars
2. Connect via JMX (for instance jconsole.sh and try to view mbeans)

Actual results:

Continuous high CPU and mbeans are never displayed

Expected results:

mbeans are displayed in reasonable amount of time with reasonable CPU usage

Additional info:

It's evident that it is iterating over each deployment (each resource adapter counting as a deployment), but for each deployment, it is also iterating over all resource adapter's and their config properties.  So it would iterate over all 500+ resource adapters once for each deployment, so it iterates over all 500 adapters at least 500 times.  Is there anyway we could avoid that n^2 iteration for deployed rars?
Comment 10 Mike McCune 2016-03-28 18:44:25 EDT
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune@redhat.com with any questions
Comment 11 Peter Mackay 2016-05-05 08:03:29 EDT
Verified with EAP 6.4.8.CP.CR2
Comment 12 Petr Penicka 2017-01-17 07:38:20 EST
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.

Note You need to log in before you can comment on or make changes to this bug.