chore(gossipsub): Check whether published partials are stale#6458
Open
dknopik wants to merge 3 commits into
Open
chore(gossipsub): Check whether published partials are stale#6458dknopik wants to merge 3 commits into
dknopik wants to merge 3 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Application-side race conditions might cause calls to
publish_partialto arrive in an unintended order. Currently, gossipsub silently accepts partial and overwrites the previously cached value - causing stale data to be replied on incoming requests.This PR uses
Metadata::updateto compare the cached with the newly published value, and only proceeds with the publish if there is any fresh data.AI Assistance Disclosure
Tools used (required — write
noneif no AI was used): Claude wrote the testAttestation (required):
Notes & open questions
Change checklist