ONOS-2626: Make a immutable copy of multimap before iterating over it
Change-Id: I04cddc4fb9a007920783e44b62143d5d2c0553ba
diff --git a/core/store/dist/src/main/java/org/onosproject/store/host/impl/ECHostStore.java b/core/store/dist/src/main/java/org/onosproject/store/host/impl/ECHostStore.java
index 17bdbbe..d698011 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/host/impl/ECHostStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/host/impl/ECHostStore.java
@@ -50,6 +50,7 @@
import org.slf4j.Logger;
import com.google.common.collect.HashMultimap;
+import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multimaps;
import com.google.common.collect.SetMultimap;
@@ -174,7 +175,8 @@
@Override
public Set<Host> getConnectedHosts(DeviceId deviceId) {
- return locations.entries()
+ return ImmutableMultimap.copyOf(locations)
+ .entries()
.stream()
.filter(entry -> entry.getKey().deviceId().equals(deviceId))
.map(entry -> entry.getValue())