diff --git a/java/com/google/gerrit/metrics/dropwizard/BucketedCallback.java b/java/com/google/gerrit/metrics/dropwizard/BucketedCallback.java index 09abdc97a7..c1c319c822 100644 --- a/java/com/google/gerrit/metrics/dropwizard/BucketedCallback.java +++ b/java/com/google/gerrit/metrics/dropwizard/BucketedCallback.java @@ -21,8 +21,8 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import com.google.gerrit.metrics.Description; import com.google.gerrit.metrics.Field; +import java.util.Iterator; import java.util.Map; -import java.util.Set; import java.util.concurrent.ConcurrentHashMap; /** Abstract callback metric broken down into buckets. */ @@ -67,10 +67,11 @@ abstract class BucketedCallback implements BucketedMetric { } void doPrune() { - Set.ValueGauge>> entries = cells.entrySet(); - for (Map.Entry e : entries) { + Iterator> it = cells.entrySet().iterator(); + while (it.hasNext()) { + Map.Entry e = it.next(); if (!e.getValue().set) { - entries.remove(e); + it.remove(); registry.remove(submetric(e.getKey())); } }