diff --git a/src/main/java/com/netflix/simianarmy/basic/conformity/BasicConformityMonkey.java b/src/main/java/com/netflix/simianarmy/basic/conformity/BasicConformityMonkey.java index b46349e1..48ec368a 100644 --- a/src/main/java/com/netflix/simianarmy/basic/conformity/BasicConformityMonkey.java +++ b/src/main/java/com/netflix/simianarmy/basic/conformity/BasicConformityMonkey.java @@ -19,7 +19,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import com.netflix.simianarmy.MonkeyCalendar; import com.netflix.simianarmy.MonkeyConfiguration; import com.netflix.simianarmy.conformity.Cluster; @@ -34,6 +33,7 @@ import java.util.Collection; import java.util.Date; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -120,13 +120,16 @@ public void doMonkeyBusiness() { nonexistentClusters.clear(); List clusters = crawler.clusters(); - Set existingClusterNames = Sets.newHashSet(); + Map> existingClusterNamesByRegion = Maps.newHashMap(); + for (String region : regions) { + existingClusterNamesByRegion.put(region, new HashSet()); + } for (Cluster cluster : clusters) { - existingClusterNames.add(cluster.getName()); + existingClusterNamesByRegion.get(cluster.getRegion()).add(cluster.getName()); } List trackedClusters = clusterTracker.getAllClusters(regions.toArray(new String[regions.size()])); for (Cluster trackedCluster : trackedClusters) { - if (!existingClusterNames.contains(trackedCluster.getName())) { + if (!existingClusterNamesByRegion.get(trackedCluster.getRegion()).contains(trackedCluster.getName())) { addCluster(nonexistentClusters, trackedCluster); } }