Change in ovirt-engine[ovirt-engine-4.0]: infra/storage: send commands to the SPM on a FIFO basis

tnisan at redhat.com tnisan at redhat.com
Mon Jun 6 16:25:51 UTC 2016


Tal Nisan has submitted this change and it was merged.

Change subject: infra/storage: send commands to the SPM on a FIFO basis
......................................................................


infra/storage: send commands to the SPM on a FIFO basis

The synchronized 'syncObj' object, used to serialize SPM commands from
the manager to the hypervisor is not particularly fair, which makes
these commands to arrive in random order on vdsm. This is particularly
true when a lot of commands are sent to the manager, using the API for
example. In this case, some delays may get very large.

Using a fair ReentrentLock instead of executing the code in a
synchronized block, respects the order of the commands, eliminating the
chance of starvation.

Using a reentrant lock makes it easy to report the number of threads
waiting on the lock as well.

Change-Id: I23fb85a4179c8a77bf1b3df532d43edc4207f33a
Bug-Url: https://bugzilla.redhat.com/1277057
Bug-Url: https://bugzilla.redhat.com/1282764
Signed-off-by: Tim Speetjens <tim.speetjens at redhat.com>
---
M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java
M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java
2 files changed, 29 insertions(+), 13 deletions(-)

Approvals:
  Tal Nisan: Looks good to me, approved
  Jenkins CI: Passed CI tests
  Liron Aravot: Verified



-- 
To view, visit https://gerrit.ovirt.org/58667
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I23fb85a4179c8a77bf1b3df532d43edc4207f33a
Gerrit-PatchSet: 2
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-4.0
Gerrit-Owner: Tal Nisan <tnisan at redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Liron Aravot <laravot at redhat.com>
Gerrit-Reviewer: Tal Nisan <tnisan at redhat.com>
Gerrit-Reviewer: gerrit-hooks <automation at ovirt.org>



More information about the Engine-commits mailing list