Skip to content
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

fix: pubsub: do not treat ErrExistingNonce as Reject #10973

Merged
merged 1 commit into from
Jun 13, 2023

Conversation

arajasek
Copy link
Contributor

Related Issues

This might help with #10906.

The ErrExistingNonce error is thrown when we already have the exact message we're trying to add in our pending mset. It is an error to try and add this message, but it is not wrong for us to receive a message multiple times, and try to add it. We should definitely not penalize peers who inform us of messages we've already added.

What's not clear to me is whether something earlier in the pipeline should be realizing that we've already processed this message. Regardless, however, I think we should be treating this case as an Ignore, not a Reject.

Proposed Changes

Lower the pubsub handling of this particular failure to Ignore.

Additional Info

Checklist

Before you mark the PR ready for review, please make sure that:

  • Commits have a clear commit message.
  • PR title is in the form of of <PR type>: <area>: <change being made>
    • example: fix: mempool: Introduce a cache for valid signatures
    • PR type: fix, feat, build, chore, ci, docs, perf, refactor, revert, style, test
    • area, e.g. api, chain, state, market, mempool, multisig, networking, paych, proving, sealing, wallet, deps
  • New features have usage guidelines and / or documentation updates in
  • Tests exist for new functionality or change in behavior
  • CI is green

@@ -362,6 +362,8 @@ func (mv *MessageValidator) Validate(ctx context.Context, pid peer.ID, msg *pubs
fallthrough
case xerrors.Is(err, messagepool.ErrNonceTooLow):
return pubsub.ValidationIgnore
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fallthrough?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants