From 9458880c068c985692a49caf608f0057c73790bf Mon Sep 17 00:00:00 2001 From: Mura Li Date: Sun, 21 Oct 2018 22:09:17 +0800 Subject: [PATCH] Increase the retry limit to 20 times and the interval to 200ms (#5134) The original settings has less tolerance and would fail on some environments. --- models/test_fixtures.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/models/test_fixtures.go b/models/test_fixtures.go index 2a70bc9816..8ef9e1af90 100644 --- a/models/test_fixtures.go +++ b/models/test_fixtures.go @@ -5,6 +5,9 @@ package models import ( + "fmt" + "time" + "gopkg.in/testfixtures.v2" ) @@ -21,12 +24,16 @@ func InitFixtures(helper testfixtures.Helper, dir string) (err error) { func LoadFixtures() error { var err error // Database transaction conflicts could occur and result in ROLLBACK - // As a simple workaround, we just retry 5 times. - for i := 0; i < 5; i++ { + // As a simple workaround, we just retry 20 times. + for i := 0; i < 20; i++ { err = fixtures.Load() if err == nil { break } + time.Sleep(200 * time.Millisecond) + } + if err != nil { + fmt.Printf("LoadFixtures failed after retries: %v\n", err) } return err }