From 385bf145d81a43ef0ad927cdfcdde215de25ac8c Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Tue, 13 Apr 2021 12:12:06 -0400 Subject: [PATCH] fix sqlite3 tx retry condition operator precedence (#32897) (#32952) --- 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) }