#311: Improve Koji call performance with koji.ClientSession.multiCall -------------------------+-------------------------------------------------- Reporter: kparal | Owner: Type: enhancement | Status: new Priority: minor | Milestone: Finger Food Component: core | Keywords: -------------------------+-------------------------------------------------- We use koji calls quite extensively in watchers/tests/libraries. Some of the calls may be sped up substantially by using multicalls (executing multiple calls at once and waiting for a grouped result). See docstring at koji.!ClientSession.multiCall:
{{{ Execute a multicall (multiple function calls passed to the server and executed at the same time, with results being returned in a batch). Before calling this method, the self.multicall field must have been set to True, and then one or more methods must have been called on the current session (those method calls will return None). On executing the multicall, the self.multicall field will be reset to False (so subsequent method calls will be executed immediately) and results will be returned in a list. The list will contain one element for each method added to the multicall, in the order it was added to the multicall. Each element of the list will be either a one-element list containing the result of the method call, or a map containing "faultCode" and "faultString" keys, describing the error that occurred during the method call. }}}
Go through our code and re-write standard Koji calls to multicalls whenever possible.
#311: Improve Koji call performance with koji.ClientSession.multiCall -------------------------+-------------------------- Reporter: kparal | Owner: mkrizek Type: enhancement | Status: new Priority: minor | Milestone: Finger Food Component: core | Resolution: Keywords: | Blocked By: Blocking: | -------------------------+-------------------------- Changes (by mkrizek):
* owner: => mkrizek
Comment:
Patch: https://fedorahosted.org/reviewboard/r/250/ (and t311 branch)
#311: Improve Koji call performance with koji.ClientSession.multiCall -------------------------+-------------------------- Reporter: kparal | Owner: mkrizek Type: enhancement | Status: new Priority: minor | Milestone: Finger Food Component: core | Resolution: Keywords: | Blocked By: Blocking: | -------------------------+--------------------------
Comment (by kparal):
A rough speed-up test: 50 separate koji calls took 30 seconds. 50 koji calls using a multicall took 1 second.
#311: Improve Koji call performance with koji.ClientSession.multiCall -------------------------+-------------------------- Reporter: kparal | Owner: mkrizek Type: enhancement | Status: new Priority: minor | Milestone: Finger Food Component: core | Resolution: Keywords: | Blocked By: Blocking: | -------------------------+--------------------------
Comment (by kparal):
I pushed one more commit to origin/t311. If everything looks OK to you, let's push to master.
#311: Improve Koji call performance with koji.ClientSession.multiCall -------------------------+---------------------- Reporter: kparal | Owner: mkrizek Type: enhancement | Status: closed Priority: minor | Milestone: 0.8.0 Component: core | Resolution: fixed Keywords: | Blocked By: Blocking: | -------------------------+---------------------- Changes (by kparal):
* status: new => closed * resolution: => fixed * milestone: Finger Food => 0.8.0
Comment:
Fixed in 21cd086
autoqa-devel@lists.fedorahosted.org