Bug 1133112

Summary: Inventory Merge is slow and consumes a lot of memory when a parent has many children
Product: [JBoss] JBoss Operations Network Reporter: Jay Shaughnessy <jshaughn>
Component: Core Server, PerformanceAssignee: Jay Shaughnessy <jshaughn>
Status: CLOSED CURRENTRELEASE QA Contact: Armine Hovsepyan <ahovsepy>
Severity: high Docs Contact:
Priority: high    
Version: JON 3.2CC: ahovsepy, hrupp, loleary, mfoley, tsegismo, vnguyen
Target Milestone: ER02   
Target Release: JON 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
If a monitored server had thousands of EJBs deployed, the server created a situation where it had a huge child cardinality for a single parent. Inventory merge was slow and consumed too much memory under these conditions. The fix ensures child sets are not pulled unnecessarily during inventory merge. The inventory merge process is now more efficient for large EJB deployments.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-12-11 14:03:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Jay Shaughnessy 2014-08-22 18:49:13 UTC
This is related to Case 01038335.

A customer has a situation where a monitored server has thousands of EJBs deployed.  This creates a situation with a huge child cardinality for a single parent, which is a worst case scenario in various ways, but is certainly bad for inventory merge and can cause server OOMs.

Some investigation should be done to see if we can improve performance for this use case.

Note that the same high cardinality use case may cause issues in other ways, this BZ is limited only to this use case, relevant to the customer case.

Comment 1 Jay Shaughnessy 2014-08-22 19:46:24 UTC
Moving to POST to let it run in master a bit, just to make sure I'm not missing something here...

master commit bdeeef8ab36aed0d7d1f38dcb9d19c8cc8150ca0
Author: Jay Shaughnessy <jshaughn@redhat.com>
Date:   Fri Aug 22 15:44:09 2014 -0400

    In our continuing search for new planets, new civilizations, er, strike that,
    our need for better performance, this change ensures we don't pull
    child sets unnecessarily during inventory merge.  This is very important in
    the given use case, but should benefit all inventory merge to some degree.

Comment 2 Jay Shaughnessy 2014-08-22 21:12:24 UTC
*** Bug 954010 has been marked as a duplicate of this bug. ***

Comment 3 Thomas Segismont 2014-08-29 13:10:59 UTC
Merged into release/jon3.3.x

commit 663661c7ca53ef9b0ca4218262c280d2fef4e252
Author: Jay Shaughnessy <jshaughn@redhat.com>
Date:   Fri Aug 22 15:44:09 2014 -0400
    (cherry picked from commit bdeeef8ab36aed0d7d1f38dcb9d19c8cc8150ca0)
    Signed-off-by: Thomas Segismont <tsegismo@redhat.com>

Comment 4 Simeon Pinder 2014-09-03 20:31:33 UTC
Moving to ON_QA as available for test with the following brew build: