From 0399065d1cf94ccab83c96220dbb27d90c7c4d55 Mon Sep 17 00:00:00 2001 From: Urvi Date: Fri, 19 Jul 2024 14:38:54 -0700 Subject: [PATCH 1/2] Fix race condition in unit tests --- support/db/dbtest/db.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/support/db/dbtest/db.go b/support/db/dbtest/db.go index 2caf1fee6a..c4ccaa4ca4 100644 --- a/support/db/dbtest/db.go +++ b/support/db/dbtest/db.go @@ -127,6 +127,12 @@ func checkReadOnly(t testing.TB, DSN string) { if !rows.Next() { _, err = tx.Exec("CREATE ROLE user_ro WITH LOGIN PASSWORD 'user_ro';") + if err != nil { + // Handle race condition by ignoring the error if it's a duplicate key violation + if pqErr, ok := err.(*pq.Error); ok && pqErr.Code == "23505" { + return + } + } require.NoError(t, err) } From 5fe03b07125f258595ec42362181accffcdbbd07 Mon Sep 17 00:00:00 2001 From: Urvi Date: Mon, 22 Jul 2024 10:38:00 -0700 Subject: [PATCH 2/2] addressing review comment --- support/db/dbtest/db.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/support/db/dbtest/db.go b/support/db/dbtest/db.go index c4ccaa4ca4..18de073224 100644 --- a/support/db/dbtest/db.go +++ b/support/db/dbtest/db.go @@ -118,7 +118,7 @@ func checkReadOnly(t testing.TB, DSN string) { require.NoError(t, err) defer conn.Close() - tx, err := conn.BeginTx(context.Background(), &sql.TxOptions{Isolation: sql.LevelSerializable}) + tx, err := conn.BeginTx(context.Background(), &sql.TxOptions{}) require.NoError(t, err) defer tx.Rollback()