From 4fba896b37d60467269fc692a76b8181e8dd1d7e Mon Sep 17 00:00:00 2001
From: Garet Halliday <me@garet.holiday>
Date: Sun, 17 Sep 2023 21:19:43 -0500
Subject: [PATCH] oh

---
 lib/gat/modes/digitalocean_discovery/config.go | 17 ++++++++++++-----
 lib/gat/pool/pool.go                           |  1 -
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/lib/gat/modes/digitalocean_discovery/config.go b/lib/gat/modes/digitalocean_discovery/config.go
index f09a0472..6fd93685 100644
--- a/lib/gat/modes/digitalocean_discovery/config.go
+++ b/lib/gat/modes/digitalocean_discovery/config.go
@@ -95,7 +95,7 @@ func (T *Config) ListenAndServe() error {
 			}
 
 			for _, dbname := range cluster.DBNames {
-				poolOptions := pool.Options{
+				baseOptions := pool.Options{
 					Credentials:                creds,
 					ServerReconnectInitialTime: 5 * time.Second,
 					ServerReconnectMaxTime:     5 * time.Second,
@@ -108,11 +108,12 @@ func (T *Config) ListenAndServe() error {
 						strutil.MakeCIString("application_name"),
 					},
 				}
+				var poolOptions pool.Options
 				if T.PoolMode == "session" {
-					poolOptions.ServerResetQuery = "DISCARD ALL"
-					poolOptions = session.Apply(poolOptions)
+					baseOptions.ServerResetQuery = "DISCARD ALL"
+					poolOptions = session.Apply(baseOptions)
 				} else {
-					poolOptions = transaction.Apply(poolOptions)
+					poolOptions = transaction.Apply(baseOptions)
 				}
 
 				p := pool.NewPool(poolOptions)
@@ -149,9 +150,15 @@ func (T *Config) ListenAndServe() error {
 					// change pool credentials
 					creds2 := creds
 					creds2.Username = user.Name + "_ro"
-					poolOptions2 := poolOptions
+					poolOptions2 := baseOptions
 					poolOptions2.Credentials = creds2
 
+					if T.PoolMode == "session" {
+						poolOptions2 = session.Apply(baseOptions)
+					} else {
+						poolOptions2 = transaction.Apply(baseOptions)
+					}
+
 					p2 := pool.NewPool(poolOptions2)
 
 					for _, replica := range replicas {
diff --git a/lib/gat/pool/pool.go b/lib/gat/pool/pool.go
index 9d75d2dd..cc6c5a21 100644
--- a/lib/gat/pool/pool.go
+++ b/lib/gat/pool/pool.go
@@ -231,7 +231,6 @@ func (T *Pool) acquireServer(client *Client) *Server {
 		server, ok := T.servers[serverID]
 		T.mu.RUnlock()
 		if !ok {
-			log.Println("here")
 			T.options.Pooler.DeleteServer(serverID)
 			continue
 		}
-- 
GitLab