Bug 639363

Summary: system.getName() API call takes too long to return results
Product: Red Hat Satellite 5 Reporter: David Glaser <dsglaser>
Component: APIAssignee: Tomas Lestach <tlestach>
Status: CLOSED DUPLICATE QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: medium Docs Contact:
Priority: low    
Version: 530CC: jsherril, slukasik
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Linux <hostname> 2.6.18-194.3.1.el5 #1 SMP Sun May 2 04:17:42 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
Last Closed: 2010-10-01 15:15:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 462714    

Description David Glaser 2010-10-01 14:45:08 UTC
Description of problem:

Calling system.getName() takes too long to return results. On a large database, it can take 1-2 hours to iterate all hosts. 

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

5.3.0 updated to current patches in June 2010

How reproducible:

always

Steps to Reproduce:
1. retrieve a set of system ID's (either manually or via the system.getID() API call
2. Iterate over those ID's using the system.getName() call. 
3. each iteration of system.getName() takes about 10-12 seconds on a database of 900 hosts. 
  
Actual results:

A script to interate over 800 hosts takes over 140 minutes. (at 11 seconds per database call for each system.getName().

Expected results:

system.getName() should be able to return from the database much quicker


Additional info:

Examples from /var/log/rhn/rhn_web_api.log:

system.getName()
[2010-09-29 17:15:47,004] INFO  - REQUESTED FROM: *callerIp* CALL: system.getName(12838136x3024bace156940335054c4ef4da9e51a, 1000011298) CALLER: (sat_api) TIME: 10.918 seconds
[2010-09-29 17:15:57,875] INFO  - REQUESTED FROM: *callerIp* CALL: system.getName(12838136x3024bace156940335054c4ef4da9e51a, 1000013139) CALLER: (sat_api) TIME: 10.863 seconds

system.provisioning.snapshot.listSnapshots()
[2010-09-20 00:02:53,205] INFO  - REQUESTED FROM: *callerIp* CALL: system.provisioning.snapshot.listSnapshots(12816241xda34397b1bd286dcbd17b2b1b58406ee, 1000018669, {}) CALLER: (sat_api) TIME: 0.02 seconds
[2010-09-20 00:02:53,251] INFO  - REQUESTED FROM: *callerIp* CALL: system.provisioning.snapshot.listSnapshots(12816241xda34397b1bd286dcbd17b2b1b58406ee, 1000018808, {}) CALLER: (sat_api) TIME: 0.019 seconds

system.listsubscribedBaseChannel()
[2010-09-08 13:16:35,919] INFO  - REQUESTED FROM: *callerIp* CALL: system.getSubscribedBaseChannel(12794521x2611865d4f22fe626af3fadfc5531c93, 1000013467) CALLER: (dsglaser) TIME: 0.019 seconds
[2010-09-08 13:16:35,950] INFO  - REQUESTED FROM: *callerIp* CALL: system.listSubscribedChildChannels(12794521x2611865d4f22fe626af3fadfc5531c93, 1000013467) CALLER: (dsglaser) TIME: 0.022 seconds

Comment 1 Šimon Lukašík 2010-10-01 15:09:55 UTC
Isn't this duplicate of bug 575796?

Comment 2 Justin Sherrill 2010-10-01 15:15:50 UTC
Doh,  I knew this sounded familiar.  Thanks Simon.

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