Bug 823606 - Bug.Fields takes a long time
Bug.Fields takes a long time
Status: CLOSED CURRENTRELEASE
Product: Bugzilla
Classification: Community
Component: WebService (Show other bugs)
4.2
Unspecified Unspecified
unspecified Severity unspecified (vote)
: ---
: ---
Assigned To: Simon Green
tools-bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-05-21 12:07 EDT by Don Zickus
Modified: 2014-10-12 18:48 EDT (History)
6 users (show)

See Also:
Fixed In Version: 4.2.5-8
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-03-14 18:13:10 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 Don Zickus 2012-05-21 12:07:48 EDT
Description of problem:
python-bugzilla relies on extracting available fields in bugzilla for local caching purposes.  The backend basically calls bug.fields.  It takes a noticably long time for that info to be retrieved.

At the same creating a bugzilla through the normal web interface, my firefox browser hung for a long time while trying to click on a component.  I assumed the ajax caching for components (and other pieces) is having performance problems too.

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

How reproducible:
always

Steps to Reproduce:
1. The following xmlrpc call was sent (sorry for the ugly python dump)

send: "POST /xmlrpc.cgi HTTP/1.1\r\nHost:
bugzilla.redhat.com\r\nAccept-Encoding: gzip\r\nCookie:
Bugzilla_logincookie=Ld64culKqF; Bugzilla_login=191026\r\nUser-Agent:
Python-urllib2/2.7 bugzilla.py/0.6.1\r\nContent-Type:
text/xml\r\nContent-Length: 284\r\n\r\n<?xml
version='1.0'?>\n<methodCall>\n<methodName>Bug.fields</methodName>\n<params>\n<param>\n<value><struct>\n<member>\n<name>include_fields</name>\n<value><array><data>\n<value><string>name</string></value>\n</data></array></value>\n</member>\n</struct></value>\n</param>\n</params>\n</methodCall>\n"

2.
3.
  
Actual results:
Hung for a good 30-40 seconds, froze my console for the script and froze my browser when entering from the web interface.

Expected results:


Additional info:
Comment 1 Simon Green 2012-10-10 01:55:40 EDT
We should be able to use filter_wants to not get information we don't need from the database.

  -- simon
Comment 2 Simon Green 2012-11-08 18:48:16 EST
Bumping for the next release.

  -- simon
Comment 6 Chen Chen 2013-02-19 03:42:18 EST
Verify version 4.4-1 on test server --> PASS

Verify steps:
1. Open the terminal, input python then press enter.
2. >>> import xmlrpclib
3. >>> proxy = xmlrpclib.ServerProxy('https://bzweb01-qe.app.eng.rdu.redhat.com/xmlrpc.cgi')
4. 1>>> fields = proxy.Bug.fields({'Bugzilla_login': 'redhat@redhat.com', 'Bugzilla_password': 'PWD'})
4.2 Compare the result with fields list that only redhat group can see.
5. >>> fields = proxy.Bug.fields({'Bugzilla_login': 'public@test.com', 'Bugzilla_password': 'PWD'})
5.2 Comapre the result with public fields list.

Actual result:
1. After step 4.1, Bug.fields should now take a matter of seconds to return data.
2. After step  4.2, result is same with fields list that only redhat group can see.
3. After step 5.1, Bug.fields should now take a matter of seconds to return data.
4. After step 5.2, result is same with fields list that only public user can see.
Comment 7 Jin Zhao 2013-02-26 20:49:28 EST
Change to ON_QA in order to verify again on v4.2-8
Comment 23 Simon Green 2013-03-14 18:13:10 EDT
This change is now live.

  -- simon

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