1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-09-18 08:15:14 +00:00

fix retry to update branch (#495)

* fix retry to update branch

* improve code
This commit is contained in:
Xiangyue Cai
2021-09-27 17:50:03 +08:00
committed by GitHub
parent 4901aefa58
commit 31c017d2c8

View File

@@ -1596,10 +1596,14 @@ func genNewCommit(repo *repomgr.Repo, base *commitmgr.Commit, newRoot, user, des
}
var commitID string
for retry, err := genCommitNeedRetry(repo, base, commit, newRoot, user, &commitID); retry || err != nil; {
for {
retry, err := genCommitNeedRetry(repo, base, commit, newRoot, user, &commitID)
if err != nil {
return "", err
}
if !retry {
break
}
if retryCnt < 3 {
random := rand.Intn(10) + 1
@@ -1621,17 +1625,21 @@ func genNewCommit(repo *repomgr.Repo, base *commitmgr.Commit, newRoot, user, des
func fastForwardOrMerge(user string, repo *repomgr.Repo, base, newCommit *commitmgr.Commit) error {
var retryCnt int
for retry, err := genCommitNeedRetry(repo, base, newCommit, newCommit.RootID, user, nil); retry || err != nil; {
for {
retry, err := genCommitNeedRetry(repo, base, newCommit, newCommit.RootID, user, nil)
if err != nil {
return err
}
if !retry {
break
}
if retryCnt < 3 {
random := rand.Intn(10) + 1
time.Sleep(time.Duration(random*100) * time.Millisecond)
retryCnt++
} else {
err := fmt.Errorf("stop updating repo %s after 3 retries", repo.ID)
err = fmt.Errorf("stop updating repo %s after 3 retries", repo.ID)
return err
}
}