diff --git a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareSecondaryStorageContextFactory.java b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareSecondaryStorageContextFactory.java index fce66a97539..fc298c895c8 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareSecondaryStorageContextFactory.java +++ b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareSecondaryStorageContextFactory.java @@ -17,6 +17,7 @@ package com.cloud.storage.resource; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import com.cloud.hypervisor.vmware.util.VmwareContext; @@ -60,10 +61,11 @@ public class VmwareSecondaryStorageContextFactory { public static void invalidate(VmwareContext context) { synchronized(s_contextMap) { - for(Map.Entry entry : s_contextMap.entrySet()) { - if(entry.getValue() == context) { - s_contextMap.remove(entry.getKey()); - } + for(Iterator> entryIter = s_contextMap.entrySet().iterator(); entryIter.hasNext();) { + Map.Entry entry = entryIter.next(); + if(entry.getValue() == context) { + entryIter.remove(); + } } }