From c5bf87c9212bf78bb0ed0b0dd5cfca1a06fa9c55 Mon Sep 17 00:00:00 2001
From: rahul yadav <rahulyadavsep92@gmail.com>
Date: Tue, 29 Oct 2024 10:05:42 +0530
Subject: [PATCH] fix(spanner): allow non default service account only when
 direct path is enabled

---
 spanner/client.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/spanner/client.go b/spanner/client.go
index 889fb43aa6da..c9de00db8a5a 100644
--- a/spanner/client.go
+++ b/spanner/client.go
@@ -587,11 +587,11 @@ func allClientOpts(numChannels int, compression string, userOpts ...option.Clien
 	clientDefaultOpts := []option.ClientOption{
 		option.WithGRPCConnectionPool(numChannels),
 		option.WithUserAgent(fmt.Sprintf("spanner-go/v%s", internal.Version)),
-		internaloption.AllowNonDefaultServiceAccount(true),
 		option.WithGRPCDialOption(grpc.WithChainUnaryInterceptor(addNativeMetricsInterceptor()...)),
 		option.WithGRPCDialOption(grpc.WithChainStreamInterceptor(addStreamNativeMetricsInterceptor()...)),
 	}
 	if enableDirectPathXds, _ := strconv.ParseBool(os.Getenv("GOOGLE_SPANNER_ENABLE_DIRECT_ACCESS")); enableDirectPathXds {
+		clientDefaultOpts = append(clientDefaultOpts, internaloption.AllowNonDefaultServiceAccount(true))
 		clientDefaultOpts = append(clientDefaultOpts, internaloption.EnableDirectPath(true), internaloption.EnableDirectPathXds())
 	}
 	if compression == "gzip" {