Skip to content

Commit 53bc510

Browse files
authored
fix: directpath_enabled attribute (#3897)
1 parent 706f794 commit 53bc510

File tree

3 files changed

+9
-22
lines changed

3 files changed

+9
-22
lines changed

google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,6 @@
8686
import com.google.common.base.Function;
8787
import com.google.common.base.MoreObjects;
8888
import com.google.common.base.Preconditions;
89-
import com.google.common.base.Supplier;
90-
import com.google.common.base.Suppliers;
9189
import com.google.common.collect.ImmutableList;
9290
import com.google.common.collect.ImmutableMap;
9391
import com.google.common.collect.ImmutableSet;
@@ -239,6 +237,7 @@ public class GapicSpannerRpc implements SpannerRpc {
239237
private static final String CLIENT_LIBRARY_LANGUAGE = "spanner-java";
240238
public static final String DEFAULT_USER_AGENT =
241239
CLIENT_LIBRARY_LANGUAGE + "/" + GaxProperties.getLibraryVersion(GapicSpannerRpc.class);
240+
public static boolean DIRECTPATH_CHANNEL_CREATED = false;
242241
private static final String API_FILE = "grpc-gcp-apiconfig.json";
243242

244243
private boolean rpcIsClosed;
@@ -281,8 +280,6 @@ public class GapicSpannerRpc implements SpannerRpc {
281280
private final int numChannels;
282281
private final boolean isGrpcGcpExtensionEnabled;
283282

284-
private Supplier<Boolean> directPathEnabledSupplier = () -> false;
285-
286283
private final GrpcCallContext baseGrpcCallContext;
287284

288285
public static GapicSpannerRpc create(SpannerOptions options) {
@@ -361,9 +358,7 @@ public GapicSpannerRpc(final SpannerOptions options) {
361358
SpannerInterceptorProvider.create(
362359
MoreObjects.firstNonNull(
363360
options.getInterceptorProvider(),
364-
SpannerInterceptorProvider.createDefault(
365-
options.getOpenTelemetry(),
366-
(() -> directPathEnabledSupplier.get()))))
361+
SpannerInterceptorProvider.createDefault(options.getOpenTelemetry())))
367362
// This sets the trace context headers.
368363
.withTraceContext(endToEndTracingEnabled, options.getOpenTelemetry())
369364
// This sets the response compressor (Server -> Client).
@@ -425,12 +420,9 @@ public GapicSpannerRpc(final SpannerOptions options) {
425420
this.spannerStub =
426421
GrpcSpannerStubWithStubSettingsAndClientContext.create(
427422
spannerStubSettings, clientContext);
428-
this.directPathEnabledSupplier =
429-
Suppliers.memoize(
430-
() -> {
431-
return ((GrpcTransportChannel) clientContext.getTransportChannel()).isDirectPath()
432-
&& isAttemptDirectPathXds;
433-
});
423+
DIRECTPATH_CHANNEL_CREATED =
424+
((GrpcTransportChannel) clientContext.getTransportChannel()).isDirectPath()
425+
&& isAttemptDirectPathXds;
434426
this.readRetrySettings =
435427
options.getSpannerStubSettings().streamingReadSettings().getRetrySettings();
436428
this.readRetryableCodes =

google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/HeaderInterceptor.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
import java.util.HashMap;
5757
import java.util.Map;
5858
import java.util.concurrent.ExecutionException;
59-
import java.util.function.Supplier;
6059
import java.util.logging.Level;
6160
import java.util.logging.Logger;
6261
import java.util.regex.Matcher;
@@ -99,12 +98,8 @@ class HeaderInterceptor implements ClientInterceptor {
9998
private static final Level LEVEL = Level.INFO;
10099
private final SpannerRpcMetrics spannerRpcMetrics;
101100

102-
private final Supplier<Boolean> directPathEnabledSupplier;
103-
104-
HeaderInterceptor(
105-
SpannerRpcMetrics spannerRpcMetrics, Supplier<Boolean> directPathEnabledSupplier) {
101+
HeaderInterceptor(SpannerRpcMetrics spannerRpcMetrics) {
106102
this.spannerRpcMetrics = spannerRpcMetrics;
107-
this.directPathEnabledSupplier = directPathEnabledSupplier;
108103
}
109104

110105
@Override
@@ -293,7 +288,7 @@ private Map<String, String> getBuiltInMetricAttributes(String key, DatabaseName
293288
BuiltInMetricsConstant.INSTANCE_ID_KEY.getKey(), databaseName.getInstance());
294289
attributes.put(
295290
BuiltInMetricsConstant.DIRECT_PATH_ENABLED_KEY.getKey(),
296-
String.valueOf(this.directPathEnabledSupplier.get()));
291+
String.valueOf(GapicSpannerRpc.DIRECTPATH_CHANNEL_CREATED));
297292
return attributes;
298293
});
299294
}

google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/SpannerInterceptorProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,14 @@ public static SpannerInterceptorProvider createDefault(OpenTelemetry openTelemet
5656
}));
5757
}
5858

59+
@ObsoleteApi("DirectPathEnabledSupplier is not used")
5960
public static SpannerInterceptorProvider createDefault(
6061
OpenTelemetry openTelemetry, Supplier<Boolean> directPathEnabledSupplier) {
6162
List<ClientInterceptor> defaultInterceptorList = new ArrayList<>();
6263
defaultInterceptorList.add(new SpannerErrorInterceptor());
6364
defaultInterceptorList.add(
6465
new LoggingInterceptor(Logger.getLogger(GapicSpannerRpc.class.getName()), Level.FINER));
65-
defaultInterceptorList.add(
66-
new HeaderInterceptor(new SpannerRpcMetrics(openTelemetry), directPathEnabledSupplier));
66+
defaultInterceptorList.add(new HeaderInterceptor(new SpannerRpcMetrics(openTelemetry)));
6767
return new SpannerInterceptorProvider(ImmutableList.copyOf(defaultInterceptorList));
6868
}
6969

0 commit comments

Comments
 (0)