Add MustBeClosed to Context.makeCurrent (#1914)

This commit is contained in:
Anuraag Agrawal 2020-10-29 11:36:46 +09:00 committed by GitHub
parent ed75175578
commit 34953d5fee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 1 deletions

View File

@ -5,6 +5,7 @@
package io.opentelemetry.api.baggage;
import com.google.errorprone.annotations.MustBeClosed;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.ContextKey;
import io.opentelemetry.context.Scope;
@ -69,6 +70,7 @@ public final class BaggageUtils {
* @param baggage the {@link Baggage} to be added to the current {@code Context}.
* @return the {@link Scope} for the updated {@code Context}.
*/
@MustBeClosed
public static Scope currentContextWith(Baggage baggage) {
Context context = withBaggage(baggage, Context.current());
return context.makeCurrent();

View File

@ -7,6 +7,7 @@ package io.opentelemetry.context;
import brave.propagation.CurrentTraceContext;
import brave.propagation.TraceContext;
import com.google.errorprone.annotations.MustBeClosed;
public class OpenTelemetryCurrentTraceContext extends CurrentTraceContext {
@ -18,8 +19,9 @@ public class OpenTelemetryCurrentTraceContext extends CurrentTraceContext {
return Context.current().get(TRACE_CONTEXT_KEY);
}
@SuppressWarnings("ReferenceEquality")
@SuppressWarnings({"ReferenceEquality", "MustBeClosedChecker"})
@Override
@MustBeClosed
public Scope newScope(TraceContext context) {
Context currentOtel = Context.current();
TraceContext currentBrave = currentOtel.get(TRACE_CONTEXT_KEY);

View File

@ -19,6 +19,7 @@ public class ContextStorageOverride extends Context.Storage {
private static final ContextKey<Context> GRPC_CONTEXT = ContextKey.named("grpc-context");
private static final Context.Key<Scope> OTEL_SCOPE = Context.key("otel-scope");
@SuppressWarnings("MustBeClosedChecker")
@Override
public Context doAttach(Context toAttach) {
io.opentelemetry.context.Context otelContext = io.opentelemetry.context.Context.current();

View File

@ -22,6 +22,7 @@
package io.opentelemetry.context;
import com.google.errorprone.annotations.MustBeClosed;
import java.util.concurrent.Callable;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
@ -136,6 +137,7 @@ public interface Context {
* assert Context.current() == prevCtx;
* }</pre>
*/
@MustBeClosed
default Scope makeCurrent() {
return ContextStorage.get().attach(this);
}