From e288cd0836d83b34da37cba14691feac9859b969 Mon Sep 17 00:00:00 2001 From: Alexander Emelin Date: Tue, 13 Apr 2021 18:26:54 +0300 Subject: [PATCH] fix sqlite3 tx retry condition operator precedence (#32897) --- pkg/services/sqlstore/transactions.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/services/sqlstore/transactions.go b/pkg/services/sqlstore/transactions.go index 31ae27c3370..6c2c01101a8 100644 --- a/pkg/services/sqlstore/transactions.go +++ b/pkg/services/sqlstore/transactions.go @@ -44,7 +44,7 @@ func inTransactionWithRetryCtx(ctx context.Context, engine *xorm.Engine, callbac // special handling of database locked errors for sqlite, then we can retry 5 times var sqlError sqlite3.Error - if errors.As(err, &sqlError) && retry < 5 && sqlError.Code == sqlite3.ErrLocked || sqlError.Code == sqlite3.ErrBusy { + if errors.As(err, &sqlError) && retry < 5 && (sqlError.Code == sqlite3.ErrLocked || sqlError.Code == sqlite3.ErrBusy) { if rollErr := sess.Rollback(); rollErr != nil { return errutil.Wrapf(err, "Rolling back transaction due to error failed: %s", rollErr) }