Skip to content

Commit 7dbd4c3

Browse files
committed
interop: fix maybeCloseSpan in OpenTelemetryContextPropagationTest to preserve applicationSpan reference
1 parent 3659181 commit 7dbd4c3

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

interop-testing/src/test/java/io/grpc/testing/integration/OpenTelemetryContextPropagationTest.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import io.opentelemetry.sdk.OpenTelemetrySdk;
4444
import io.opentelemetry.sdk.trace.SdkTracerProvider;
4545
import java.util.Arrays;
46+
import java.util.concurrent.atomic.AtomicBoolean;
4647
import java.util.concurrent.atomic.AtomicReference;
4748
import org.junit.After;
4849
import org.junit.Assume;
@@ -145,10 +146,12 @@ public void onComplete() {
145146
return builder;
146147
}
147148

149+
private final AtomicBoolean applicationSpanClosed = new AtomicBoolean(false);
150+
148151
private void maybeCloseSpan(AtomicReference<Span> applicationSpan) {
149-
Span tmp = applicationSpan.getAndSet(null);
150-
if (tmp != null) {
151-
tmp.end();
152+
Span span = applicationSpan.get();
153+
if (span != null && applicationSpanClosed.compareAndSet(false, true)) {
154+
span.end();
152155
}
153156
}
154157

0 commit comments

Comments
 (0)