-
Notifications
You must be signed in to change notification settings - Fork 237
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
avoid too-fast topic attestation subnet unsubscription/subscription #3025
Conversation
@Menduist does the prune backoff also apply to peers that we don't prune? Basically, when we receive an unsubscribe message, we should be removing the peers from the mesh implicitly, no? Another way to put this: is it required to send a prune message before unsubscribing? |
There is no implicit prune:
|
And yet when they unsubscribe, we remove them from the mesh without thinking about backoff: https://github.com/status-im/nim-libp2p/blob/master/libp2p/protocols/pubsub/gossipsub.nim#L238 |
AFAICT, if they pruned us, we'll handle the backoff correctly, even if we receive the prune after the unsubscribe So if they unsub without pruning (which is against the spec), we'll still clean them up, without backoff |
well, this is a problem somewhere: either in the spec or in the implementation - it's basically a way to circumvent backoff which may be a good thing or a bad thing, depending on how you view it.. it's something to a) check in the major impls and b) raise in the libp2p spec repo, if it's not crystal clear from the spec |
we have a similar thing in our code where we allow peers to enter our mesh without being subscribed - I think that's wrong, but likely a leftover from some attempt to deal with out-of-order messages - it's something that should never happen regardless, ie the sequence should always be |
Checked quickly, we seem on par with go-libp2p Opened vacp2p/nim-libp2p#641 to follow this up more thoroughly |
9c8cbb0
to
563387c
Compare
2a1014b
to
7ced909
Compare
…slot delay in unsubscribing
Co-authored-by: Jacek Sieka <jacek@status.im>
It's looking like this isn't the best way of accomplishing this goal. vacp2p/nim-libp2p#665 seems like the better approach. |
No description provided.