diff --git a/spanner/client.go b/spanner/client.go index 0c233be7c1a..fe87fafb171 100644 --- a/spanner/client.go +++ b/spanner/client.go @@ -23,6 +23,7 @@ import ( "log" "os" "regexp" + "strconv" "time" "cloud.google.com/go/internal/trace" @@ -353,6 +354,9 @@ func allClientOpts(numChannels int, compression string, userOpts ...option.Clien internaloption.EnableDirectPath(true), internaloption.AllowNonDefaultServiceAccount(true), } + if enableDirectPathXds, _ := strconv.ParseBool(os.Getenv("GOOGLE_SPANNER_ENABLE_DIRECT_ACCESS")); enableDirectPathXds { + clientDefaultOpts = append(clientDefaultOpts, internaloption.EnableDirectPathXds()) + } if compression == "gzip" { userOpts = append(userOpts, option.WithGRPCDialOption(grpc.WithDefaultCallOptions( grpc.UseCompressor(gzip.Name))))