Bug 1002334

Summary: Provide a simpler, cached alternative to getReleaseComponents
Product: [Community] Bugzilla Reporter: Jon Orris <jorris>
Component: WebServiceAssignee: PnT DevOps Devs <hss-ied-bugs>
Status: CLOSED WONTFIX QA Contact: tools-bugs <tools-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.4CC: rjoost
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-28 23:24:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jon Orris 2013-08-28 22:59:54 UTC
Description of problem:
The errata system has to call the xmlrpc method getReleaseComponents repeatedly to ensure it is up to date. This is inefficient for both the errata system and bugzilla; changes are intermittent, yet users are upset if there is any delay so we must query constantly.

If we could provide this data in a simpler format, JSON or text, with Apache setting and handling Last-Modified and If-Modified-Since headers, that'd be a major improvement.

Comment 1 Simon Green 2013-08-28 23:24:46 UTC
(In reply to Jon Orris from comment #0)
> If we could provide this data in a simpler format, JSON or text,

You can use JSONRPC to get the results back in JSON format. This is faster than using XMLRPC since it doesn't need to type the returned data.

> with Apache
> setting and handling Last-Modified and If-Modified-Since headers, that'd be
> a major improvement.

This is something that we considered doing as part of the performance upgrade but decided against it. There are four major reasons:

(1) This would be a customisation we would need to support.
(2) Not everyone has the same view of releases, and therefore we would need to do a complete database query to get the last modified value
(3) If the data has modified, then we need to get the data twice.
(4) There is a disjoint between the Bugzilla web servers, proxy servers and load balancers.