Liran Zelkha has uploaded a new change for review. Change subject: engine : Eliminate duplicate VdsDynamic updates ......................................................................
engine : Eliminate duplicate VdsDynamic updates Eliminate duplicate vdsDynamic updates, which just cause excessive database activity. Change-Id: I7889b426b7c46cd688ce70bf217eab69663e2dda Signed-off-by: [email protected] <[email protected]> --- M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java 1 file changed, 17 insertions(+), 17 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/22/19522/1 diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java index e82257a..65886f6 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java @@ -104,11 +104,10 @@ .<Integer> GetValue(ConfigValues.TimeToReduceFailedRunOnVdsInMinutes); private String duringFailureJobId; private boolean privateInitialized; - private volatile VDS fullVds = null; + private VDS fullVds = null; private Guid storagePoolId = null; - // Partial VDS is a VDS that only contains VDSStatic, VDSDynamic and VDSStatistics objects - so it's much faster to - // load from the database - private volatile VDS partialVds; + // Partial VDS is a VDS that only contains VDSStatic, VDSDynamic and VDSStatistics objects - so it's much faster to load from the database + private VDS partialVds; public boolean getInitialized() { @@ -219,7 +218,7 @@ private VdsUpdateRunTimeInfo _vdsUpdater; private final VdsMonitor vdsMonitor = new VdsMonitor(); - private volatile VDSGroup vdsGroup; + private VDSGroup vdsGroup; private Version version; @OnTimerMethodAnnotation("OnTimer") @@ -397,7 +396,12 @@ * @param dynamicData */ public void UpdateDynamicData(VdsDynamic dynamicData) { - DbFacade.getInstance().getVdsDynamicDao().update(dynamicData); + if (!dynamicData.equals(vdsDynamic)) { + DbFacade.getInstance().getVdsDynamicDao().update(dynamicData); + } else { + log.debug("Ignoring an unneccessary update on vdsDynamic " + vdsStatic.getName()); + } + } /** @@ -778,10 +782,10 @@ if (fullVds == null) { synchronized (this) { if (fullVds == null) { - fullVds = DbFacade.getInstance().getVdsDao().get(vdsStatic.getId()); + fullVds = DbFacade.getInstance().getVdsDao().get(vdsStatic.getId()); } } - + } return fullVds; @@ -794,7 +798,7 @@ vdsGroup = DbFacade.getInstance().getVdsGroupDao().get(vdsStatic.getVdsGroupId()); } } - + } return vdsGroup; @@ -816,14 +820,10 @@ public VDS getPartialVds() { if (partialVds == null) { - synchronized (this) { - if (partialVds == null) { - partialVds = new VDS(); - partialVds.setStaticData(vdsStatic); - partialVds.setDynamicData(vdsDynamic); - partialVds.setStatisticsData(vdsStatistics); - } - } + partialVds = new VDS(); + partialVds.setStaticData(vdsStatic); + partialVds.setDynamicData(vdsDynamic); + partialVds.setStatisticsData(vdsStatistics); } return partialVds; -- To view, visit http://gerrit.ovirt.org/19522 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7889b426b7c46cd688ce70bf217eab69663e2dda Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liran Zelkha <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
