diff --git a/go/internal/accountutils/utils.go b/go/internal/accountutils/utils.go index 3e687f91b9..4162c5efa5 100644 --- a/go/internal/accountutils/utils.go +++ b/go/internal/accountutils/utils.go @@ -332,10 +332,14 @@ func GetGormDBForPath(dbPath string, key []byte, salt []byte, logger *zap.Logger return nil, nil, errcode.TODO.Wrap(err) } + sqlDB, err := db.DB() + if err != nil { + return nil, nil, fmt.Errorf("unable to gorm underlying db: %w", err) + } + + sqlDB.SetMaxOpenConns(1) + return db, func() { - sqlDB, _ := db.DB() - if sqlDB != nil { - sqlDB.Close() - } + _ = sqlDB.Close() }, nil } diff --git a/go/internal/messengerdb/db.go b/go/internal/messengerdb/db.go index 9147a15a02..28664fa950 100644 --- a/go/internal/messengerdb/db.go +++ b/go/internal/messengerdb/db.go @@ -1758,7 +1758,7 @@ func (d *DBWrapper) MarkAccountDirectoryServiceRecordAsRevoked(serverAddr string return d.db.Transaction(func(tx *gorm.DB) error { record := &messengertypes.AccountDirectoryServiceRecord{} - query := d.db.Model(&messengertypes.AccountDirectoryServiceRecord{}).Where(record, &messengertypes.AccountDirectoryServiceRecord{ + query := tx.Model(&messengertypes.AccountDirectoryServiceRecord{}).Where(record, &messengertypes.AccountDirectoryServiceRecord{ ServerAddr: serverAddr, DirectoryRecordToken: token, }, "expiration_date <= ?", removalDate).Update("revoked", true) diff --git a/go/internal/messengerdb/db_test_utils.go b/go/internal/messengerdb/db_test_utils.go index 7d1e21717d..ed1f14bdc0 100644 --- a/go/internal/messengerdb/db_test_utils.go +++ b/go/internal/messengerdb/db_test_utils.go @@ -68,6 +68,8 @@ func GetInMemoryTestDB(t testing.TB, opts ...GetInMemoryTestDBOpts) (*DBWrapper, t.Fatal(err) } + d.SetMaxOpenConns(1) + return wrappedDB, db, func() { _ = d.Close() loggerCleanup()