[#1390] getSvc: Fix Head EC1.1
All checks were successful
Tests and linters / Run gofumpt (pull_request) Successful in 2m16s
DCO action / DCO (pull_request) Successful in 2m32s
Tests and linters / Staticcheck (pull_request) Successful in 3m37s
Vulncheck / Vulncheck (pull_request) Successful in 3m44s
Build / Build Components (pull_request) Successful in 3m58s
Pre-commit hooks / Pre-commit (pull_request) Successful in 3m56s
Tests and linters / gopls check (pull_request) Successful in 4m26s
Tests and linters / Lint (pull_request) Successful in 5m8s
Tests and linters / Tests (pull_request) Successful in 5m48s
Tests and linters / Tests with -race (pull_request) Successful in 6m22s
All checks were successful
Tests and linters / Run gofumpt (pull_request) Successful in 2m16s
DCO action / DCO (pull_request) Successful in 2m32s
Tests and linters / Staticcheck (pull_request) Successful in 3m37s
Vulncheck / Vulncheck (pull_request) Successful in 3m44s
Build / Build Components (pull_request) Successful in 3m58s
Pre-commit hooks / Pre-commit (pull_request) Successful in 3m56s
Tests and linters / gopls check (pull_request) Successful in 4m26s
Tests and linters / Lint (pull_request) Successful in 5m8s
Tests and linters / Tests (pull_request) Successful in 5m48s
Tests and linters / Tests with -race (pull_request) Successful in 6m22s
If local EC chunk found, but remote node is off, then `HEAD --raw` request returns object not found. Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
parent
0b87be804a
commit
d4493a6d08
1 changed files with 9 additions and 3 deletions
|
@ -26,8 +26,10 @@ func (r *request) executeOnContainer(ctx context.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
localStatus := r.status
|
||||
|
||||
for {
|
||||
if r.processCurrentEpoch(ctx) {
|
||||
if r.processCurrentEpoch(ctx, localStatus) {
|
||||
break
|
||||
}
|
||||
|
||||
|
@ -43,7 +45,7 @@ func (r *request) executeOnContainer(ctx context.Context) {
|
|||
}
|
||||
}
|
||||
|
||||
func (r *request) processCurrentEpoch(ctx context.Context) bool {
|
||||
func (r *request) processCurrentEpoch(ctx context.Context, localStatus int) bool {
|
||||
r.log.Debug(logs.ProcessEpoch,
|
||||
zap.Uint64("number", r.curProcEpoch),
|
||||
)
|
||||
|
@ -56,7 +58,11 @@ func (r *request) processCurrentEpoch(ctx context.Context) bool {
|
|||
ctx, cancel := context.WithCancel(ctx)
|
||||
defer cancel()
|
||||
|
||||
r.status = statusUndefined
|
||||
if localStatus == statusEC { // possible only for raw == true and local == false
|
||||
r.status = statusEC
|
||||
} else {
|
||||
r.status = statusUndefined
|
||||
}
|
||||
|
||||
for {
|
||||
addrs := traverser.Next()
|
||||
|
|
Loading…
Reference in a new issue