From d2292a13d2b1d6d989399c9b3c245ef4d60313de Mon Sep 17 00:00:00 2001 From: Claudio Costa Date: Mon, 2 Jun 2025 01:59:21 -0600 Subject: [PATCH] Bump shared db pool size in store for parallel tests (#31262) --- server/channels/store/sqlstore/store_test.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/server/channels/store/sqlstore/store_test.go b/server/channels/store/sqlstore/store_test.go index d169692a17..434df4bc6a 100644 --- a/server/channels/store/sqlstore/store_test.go +++ b/server/channels/store/sqlstore/store_test.go @@ -160,6 +160,11 @@ func initStores(logger mlog.LoggerIFace, parallelism int) { if testing.Short() { return } + + // NOTE: we use a pool size higher than the parallelism value (coming from -test.parallel flag) as we need a bit of extra buffer to cover + // for subtests or paused tests that might also run in parallel and initialize a new store. + parallelTestsPoolSize := parallelism * 2 + // In CI, we already run the entire test suite for both mysql and postgres in parallel. // So we just run the tests for the current database set. if os.Getenv("IS_CI") == "true" { @@ -169,7 +174,7 @@ func initStores(logger mlog.LoggerIFace, parallelism int) { case "postgres": storeTypes = append(storeTypes, newStoreType("PostgreSQL", model.DatabaseDriverPostgres)) if enableFullyParallelTests { - pgStorePool, err := NewTestPool(logger, model.DatabaseDriverPostgres, parallelism) + pgStorePool, err := NewTestPool(logger, model.DatabaseDriverPostgres, parallelTestsPoolSize) if err != nil { panic(err) } @@ -183,11 +188,11 @@ func initStores(logger mlog.LoggerIFace, parallelism int) { ) if enableFullyParallelTests { - pgStorePool, err := NewTestPool(logger, model.DatabaseDriverPostgres, parallelism) + pgStorePool, err := NewTestPool(logger, model.DatabaseDriverPostgres, parallelTestsPoolSize) if err != nil { panic(err) } - msStorePool, err := NewTestPool(logger, model.DatabaseDriverMysql, parallelism) + msStorePool, err := NewTestPool(logger, model.DatabaseDriverMysql, parallelTestsPoolSize) if err != nil { panic(err) }