Bug 1268844 - product list takes extremely long if a sync plan has many products
product list takes extremely long if a sync plan has many products
Status: CLOSED DUPLICATE of bug 1253802
Product: Red Hat Satellite 6
Classification: Red Hat
Component: Performance (Show other bugs)
6.1.1
All Linux
medium Severity high (vote)
: Unspecified
: --
Assigned To: Katello Bug Bin
: Performance
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-10-05 08:25 EDT by Pavel Moravec
Modified: 2015-10-08 12:07 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-10-08 12:07:58 EDT
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)

  None (edit)
Description Pavel Moravec 2015-10-05 08:25:56 EDT
Description of problem:
Having a synchronization plan with many products associated, listing products takes several minutes. Example: for 20 products, all added into a single sync plan, "hammer product list" takes 4 minutes.

The reason is - per hammer debug logs - caused by the search logic that:
- generates a list of all products
- for each product in the list, it checks presence of sync plan associated with the product
- if the sync plan exists, it lists all products within the sync plan (due to an unknown reason - but _this_ is the culprit of the BZ)

Due to the above, time complexity of product listing is quadratic to the number of products in the (biggest) sync plan.


Version-Release number of selected component (if applicable):
foreman-1.7.2.34-1.el7sat.noarch


How reproducible:
100%


Steps to Reproduce:
1. Enable 20 products
2. count time to "hammer product list"
3. create 20 sync plans, each having 1 product
4. count time to "hammer product list"
5. put all products into one sync plan
6. count time to "hammer product list"


Actual results:
2. and 4. shows very similar times
6. shows extraordinary higher time


Expected results:
2, 4 and 6 to show similar execution times
Time to list products should not depend on number of products in a sync plan


Additional info:
The issue is nicely evident when enabling hammer debugs and grepping for e.g. "label" there in REST API "hammer product list" response. Each product in a sync plan is written there as many times as the number of products in the sync plan is.
Comment 2 Bryan Kearney 2015-10-08 12:07:58 EDT

*** This bug has been marked as a duplicate of bug 1253802 ***

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