-
Notifications
You must be signed in to change notification settings - Fork 337
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: verify chunk availability before concluding synced status #2036
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 3 of 3 files at r1.
Reviewable status: all files reviewed, 3 unresolved discussions (waiting on @metacertain)
a discussion (no related file):
not sure why this would be needed
pkg/pusher/pusher.go, line 199 at r1 (raw file):
if err = s.retrieval.CheckAvailableChunk(ctx, ch.Address()); err != nil { err = fmt.Errorf("independent verification of availability failed, %w", err)
use : instead of ,
pkg/retrieval/retrieval.go, line 462 at r1 (raw file):
} func (s *Service) farthestPeer(addr swarm.Address) (swarm.Address, error) {
would be better to have this function in peerSuggester?
because, out of neighborhood peers creating storage receipts could be filtered out by checking the availability of the chunk,
?
no opinion, it was introduced here because closestPeer was used from local code as well, to maintain consistency |
428a549
to
1bbde80
Compare
1bbde80
to
d77bf0d
Compare
fad6396
to
f934c85
Compare
d77bf0d
to
cf69d4e
Compare
Thanks for this PR @metacertain . Let's first roll out what we have to the testnet and then validate the effect of this change. |
a985f14
to
2786702
Compare
2786702
to
6f90d18
Compare
This is an experimental change to increase push reliability
The availability check is done by attempting to retrieve through a peer farther away from the chunk as the node, to minimize the probability of merging/rejoining routes used for the push and verification
This change is