Skip to content
This repository has been archived by the owner on Jan 22, 2025. It is now read-only.

Gossip proofs should be ingested into blockstore's, and used to notify ReplayStage of duplicates #16508

Closed
carllin opened this issue Apr 13, 2021 · 5 comments · Fixed by #29227, #29879 or #32963
Assignees
Labels
consensus Issues related to consensus bugs in the validator
Milestone

Comments

@carllin
Copy link
Contributor

carllin commented Apr 13, 2021

Problem

Gossip proofs are propagated but not currently:

  1. Ingested into blockstore's duplicate column family (store_duplicate_if_not_existing() only runs on received shreds from WindowService)
  2. Not used to notify ReplayStage of duplicates

This is an issue if some nodes see duplicates and others don't.

Proposed Solution

@mvines mvines added this to the The Future! milestone May 10, 2021
@wen-coding wen-coding added the consensus Issues related to consensus bugs in the validator label Nov 30, 2022
@wen-coding wen-coding self-assigned this Nov 30, 2022
@t-nelson
Copy link
Contributor

t-nelson commented Dec 9, 2022

what's the size and rate of the proofs?

cc/ @behzadnouri

@wen-coding
Copy link
Contributor

Oops, closed by accident, still need to add protection.

@wen-coding wen-coding reopened this Jan 19, 2023
@behzadnouri
Copy link
Contributor

what's the size and rate of the proofs?

The size is equal to 2 shreds, but because there are some metadata it spills over 3 packets.
The rate they are pushed to gossip can be monitored by these metrics:
https://github.com/solana-labs/solana/blob/b36791956/gossip/src/cluster_info_metrics.rs#L632-L633

@wen-coding wen-coding linked a pull request Jan 25, 2023 that will close this issue
@behzadnouri
Copy link
Contributor

@wen-coding This is not being done yet

and used to notify ReplayStage of duplicates

@behzadnouri behzadnouri reopened this Dec 8, 2023
@wen-coding
Copy link
Contributor

The plan ahead: Ashwin already has PR #32963 to notify state machine of duplicate proofs, but this can't be done until we fix the switching proof. So roll that out after the switching proof is fixed. @AshwinSekar Does that look right?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.