Skip to content

Commit e5de344

Browse files
authored
Update sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/state/DefaultSynchronousMetricStorage.java
1 parent 5f33bee commit e5de344

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/state/DefaultSynchronousMetricStorage.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,10 @@ public void setEnabled(boolean enabled) {
137137
AggregatorHolder<T, U> localAggregatorHolder = Objects.requireNonNull(aggregatorHolder.get());
138138
if (localAggregatorHolder.aggregator == Aggregator.drop()) {
139139
AggregatorHolder<T, U> newHolder = new AggregatorHolder<>(originalAggregator);
140-
previousCollectionAggregatorHandles.clear();
141140
// If this fails, another thread called `setEnabled` and we can discard the current call
142-
aggregatorHolder.compareAndSet(localAggregatorHolder, newHolder);
141+
if (aggregatorHolder.compareAndSet(localAggregatorHolder, newHolder)) {
142+
previousCollectionAggregatorHandles.clear();
143+
}
143144
}
144145
} else {
145146
aggregatorHolder.set(new AggregatorHolder<>(Aggregator.drop()));

0 commit comments

Comments
 (0)