Moti Asayag has uploaded a new change for review.

Change subject: engine: Fix coverity complaints
......................................................................

engine: Fix coverity complaints

CID 1223216 (#1 of 1): Using invalid iterator (INVALIDATE_ITERATOR)
 invalid_loop: Attempting to obtain another element from cmdCallBackMap.keySet()
 after it's been modified

Change-Id: I5a80932a9ac16c08fac9faa290f844f22b2f0825
Signed-off-by: Moti Asayag <masa...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandExecutor.java
1 file changed, 5 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/00/29100/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandExecutor.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandExecutor.java
index c89c50e..b837359 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandExecutor.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandExecutor.java
@@ -1,5 +1,6 @@
 package org.ovirt.engine.core.bll.tasks;
 
+import java.util.Iterator;
 import java.util.Map;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentHashMap;
@@ -48,19 +49,20 @@
     @OnTimerMethodAnnotation("invokeCallbackMethods")
     public synchronized void invokeCallbackMethods() {
         initCommandExecutor();
-        for (Guid cmdId : cmdCallBackMap.keySet()) {
+        for (Iterator<Guid> iterator = cmdCallBackMap.keySet().iterator(); 
iterator.hasNext();) {
+            Guid cmdId = iterator.next();
             CommandCallBack callBack = cmdCallBackMap.get(cmdId);
             CommandStatus status = coco.getCommandStatus(cmdId);
             switch(status) {
                 case FAILED:
                     callBack.onFailed(cmdId, coco.getChildCommandIds(cmdId));
                     coco.updateCallBackNotified(cmdId);
-                    cmdCallBackMap.remove(cmdId);
+                    iterator.remove();
                     break;
                 case SUCCEEDED:
                     callBack.onSucceeded(cmdId, 
coco.getChildCommandIds(cmdId));
                     coco.updateCallBackNotified(cmdId);
-                    cmdCallBackMap.remove(cmdId);
+                    iterator.remove();
                     break;
                 case ACTIVE_SYNC:
                     
coco.retrieveCommand(cmdId).setCommandStatus(CommandStatus.FAILED_RESTARTED);


-- 
To view, visit http://gerrit.ovirt.org/29100
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5a80932a9ac16c08fac9faa290f844f22b2f0825
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Moti Asayag <masa...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to