Liran Zelkha has uploaded a new change for review. Change subject: core: Fix Dead Locks in Updatedisk_image_dynamic_by_disk_id_and_vm_id ......................................................................
core: Fix Dead Locks in Updatedisk_image_dynamic_by_disk_id_and_vm_id Customer got dead locks in Updatedisk_image_dynamic_by_disk_id_and_vm_id. This patch sorts by GUID, so that we eliminate the option for deadlocks. Change-Id: Ieeba728a0a549e845b5355748e15b00d02381256 Bug-Url: https://bugzilla.redhat.com/1198674 Signed-off-by: lzel...@redhat.com <lzel...@redhat.com> --- M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDynamicDAODbFacadeImpl.java 1 file changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/03/42403/1 diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDynamicDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDynamicDAODbFacadeImpl.java index 1fc0291..33ca3e0 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDynamicDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDynamicDAODbFacadeImpl.java @@ -2,7 +2,11 @@ import java.sql.ResultSet; import java.sql.SQLException; +import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; import javax.inject.Named; import javax.inject.Singleton; @@ -96,7 +100,16 @@ @Override public void updateAllDiskImageDynamicWithDiskIdByVmId(Collection<Pair<Guid, DiskImageDynamic>> diskImageDynamicForVm) { + List<Pair<Guid, DiskImageDynamic>> sortedDisks = new ArrayList<>(); + sortedDisks.addAll(diskImageDynamicForVm); + Collections.sort(sortedDisks, new Comparator<Pair<Guid, DiskImageDynamic>>() { + + @Override + public int compare(Pair<Guid, DiskImageDynamic> o1, Pair<Guid, DiskImageDynamic> o2) { + return o1.getFirst().compareTo(o2.getFirst()); + } + }); getCallsHandler().executeStoredProcAsBatch("Updatedisk_image_dynamic_by_disk_id_and_vm_id", - diskImageDynamicForVm, getBatchImageGroupMapper()); + sortedDisks, getBatchImageGroupMapper()); } } -- To view, visit https://gerrit.ovirt.org/42403 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ieeba728a0a549e845b5355748e15b00d02381256 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liran Zelkha <lzel...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches