Do more retries on unexpected tree service responses #174
No reviewers
Labels
No labels
P0
P1
P2
P3
good first issue
pool
Infrastructure
blocked
bug
config
discussion
documentation
duplicate
enhancement
go
help wanted
internal
invalid
kludge
observability
perfomance
question
refactoring
wontfix
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-sdk-go#174
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "alexvanin/frostfs-sdk-go:feature/172"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #172
@ -299,2 +305,3 @@
}
return handleError("failed to get node by path", inErr)
}); err != nil {
}); err != nil && !errors.Is(err, ErrNodeNotFound) {
It seems if all nodes return for example
tree not found
error because of this check we start return no error below (return resp.GetBody().GetNodes(), nil
whereresp
isnil
) though we have actually got error from each client. Is it ok or am I missing something?Good point. At first I didn't reuse
ErrNodeNotFound
and created new error for that but then decided there is no reason to do that. So there is an actual reason to avoidErrNodeNotFound
reusage, thank you.8cafee851c
toeb5288f4a5
@ -752,3 +762,1 @@
return !(err == nil ||
errors.Is(err, ErrNodeNotFound) ||
errors.Is(err, ErrNodeAccessDenied))
return !(err == nil || errors.Is(err, ErrNodeAccessDenied))
It seems now we have to add
errNodeEmptyResult
hereDisagree, because
shouldTryAgain
describes errors which avoid retry:errNodeEmptyResult
should trigger retry, so we don't mention it there.Oh, I see