Bug 1309747 - [GSS](6.4.z) JMX inefficiently handles resource adapters
Summary: [GSS](6.4.z) JMX inefficiently handles resource adapters
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: JCA
Version: 6.4.6
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: CR1
: EAP 6.4.8
Assignee: Ivo Studensky
QA Contact: Peter Mackay
URL:
Whiteboard:
Depends On:
Blocks: 1312370 eap648-payload
TreeView+ depends on / blocked
 
Reported: 2016-02-18 15:31 UTC by Aaron Ogburn
Modified: 2019-10-10 11:14 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-01-17 12:38:20 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker JBEAP-3498 0 Blocker Closed JMX inefficiently handles resource adapters 2017-12-12 08:56:33 UTC
Red Hat Knowledge Base (Solution) 2178241 0 None None None 2016-02-25 14:33:39 UTC

Description Aaron Ogburn 2016-02-18 15:31:01 UTC
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 22:44:25 UTC
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions

Comment 11 Peter Mackay 2016-05-05 12:03:29 UTC
Verified with EAP 6.4.8.CP.CR2

Comment 12 Petr Penicka 2017-01-17 12:38:20 UTC
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.