From 7c4e38fff69b7432cd168210616cbd9939c1eaf7 Mon Sep 17 00:00:00 2001 From: joecqupt Date: Wed, 25 Mar 2026 16:53:18 +0800 Subject: [PATCH] fix MetricRecorderImpl#metricSinks ConcurrentModificationException --- core/src/main/java/io/grpc/internal/MetricRecorderImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/io/grpc/internal/MetricRecorderImpl.java b/core/src/main/java/io/grpc/internal/MetricRecorderImpl.java index ded9d5ce589..6a12a38d677 100644 --- a/core/src/main/java/io/grpc/internal/MetricRecorderImpl.java +++ b/core/src/main/java/io/grpc/internal/MetricRecorderImpl.java @@ -20,6 +20,7 @@ import static com.google.common.base.Preconditions.checkNotNull; import com.google.common.annotations.VisibleForTesting; +import com.google.common.collect.ImmutableList; import io.grpc.CallbackMetricInstrument; import io.grpc.DoubleCounterMetricInstrument; import io.grpc.DoubleHistogramMetricInstrument; @@ -49,7 +50,7 @@ final class MetricRecorderImpl implements MetricRecorder { @VisibleForTesting MetricRecorderImpl(List metricSinks, MetricInstrumentRegistry registry) { - this.metricSinks = metricSinks; + this.metricSinks = ImmutableList.copyOf(metricSinks); this.registry = registry; }