Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1334926

Summary: [RFE] Execute command callbacks in parallel (to improve performance)
Product: [oVirt] ovirt-engine Reporter: Moti Asayag <masayag>
Component: BLL.InfraAssignee: Moti Asayag <masayag>
Status: CLOSED DEFERRED QA Contact: Lukas Svaty <lsvaty>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0.0CC: bugs, mgoldboi, mperina, rnori
Target Milestone: ---Keywords: FutureFeature, Performance
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-12 16:24:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Infra RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Moti Asayag 2016-05-10 19:59:01 UTC
Description of problem:
The Command Coordinator (CoCo) added the ability to process callbacks after the execution of the command. The callback may be invoked either by periodic polling or by subscribing to an event.

However, processing of the callbacks is done serially, causing some delay in the execution of the callbacks. The mechanism which processes the callbacks can be improved to execute the callbacks in parallel by introducing a thread pool to submit the callbacks for the execution.

Comment 1 Yaniv Kaul 2017-06-06 19:17:19 UTC
Oved - do we feel we have the resource to implement it? Otherwise, please either defer or close-deferred.

Comment 2 Oved Ourfali 2017-06-07 05:57:06 UTC
I think that's important gap to implement.
Martin - your thoughts?

Comment 3 Martin Perina 2017-06-07 08:39:03 UTC
It may improve performance, so let's decide about possible target once we know the 4.2 release schedule and available resources for it.

Comment 4 Ravi Nori 2018-01-02 15:14:00 UTC
Invoking callbacks in parallel may not be as simple as it sounds. Additional code changes and testing will be required to make sure we don't have any regression. The additional code changes would be to make sure that the command's end method is not invoked in another iteration of polling before the first one can complete.

Comment 5 Martin Perina 2019-03-12 16:24:02 UTC
Closing due to limited resources