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

enable repair ping/pong cache #28408

Merged
merged 1 commit into from
Oct 19, 2022

Conversation

jbiseda
Copy link
Contributor

@jbiseda jbiseda commented Oct 15, 2022

Problem

reenable ping/pong support for repair requests.

Summary of Changes

Enable ping creation/verification for repair requests.

See #27910 for reference.

Fixes #

@jbiseda jbiseda added the v1.14 label Oct 17, 2022
@jbiseda jbiseda marked this pull request as ready for review October 17, 2022 09:36
@jbiseda jbiseda requested a review from behzadnouri October 17, 2022 09:37
@jbiseda jbiseda removed the v1.14 label Oct 17, 2022
Copy link
Contributor

@behzadnouri behzadnouri left a comment

Choose a reason for hiding this comment

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

Can you please confirm what % of stake and what % of rpc nodes on mainnet cannot still ingest and process ping packets correctly?
and what are the minimum release versions?

Comment on lines 707 to 715
fn uses_ping_cache_check(request: &RepairProtocol) -> bool {
match request {
RepairProtocol::LegacyWindowIndex(_, _, _)
| RepairProtocol::LegacyHighestWindowIndex(_, _, _)
| RepairProtocol::LegacyOrphan(_, _)
| RepairProtocol::LegacyWindowIndexWithNonce(_, _, _, _)
| RepairProtocol::LegacyHighestWindowIndexWithNonce(_, _, _, _)
| RepairProtocol::LegacyOrphanWithNonce(_, _, _)
| RepairProtocol::LegacyAncestorHashes(_, _, _)
Copy link
Contributor

Choose a reason for hiding this comment

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

Why shouldn't it do ping/pong check for legacy requests?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Legacy requests should be removed when ping/pong verification is required. I don't see the need to extend it to legacy types now.

Copy link
Contributor

Choose a reason for hiding this comment

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

What is the downside of requiring ping/pong for legacy requests as well?

I think it would be much simpler if we don't tie ping/pong and signed requests together, or add a dependency between the two. These two seem to me separate independent things.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

changed to apply to legacy requests

@jbiseda
Copy link
Contributor Author

jbiseda commented Oct 17, 2022

Can you please confirm what % of stake and what % of rpc nodes on mainnet cannot still ingest and process ping packets correctly? and what are the minimum release versions?

v1.10.38, v1.13.0, v1.14.1 all process ping/pong requests. This should cover 100% of mainnet stake and 99% of mainnet rpc.

@jbiseda jbiseda force-pushed the reenable-repair-ping-pong branch from 9daca5b to 66397d2 Compare October 19, 2022 00:29
@jbiseda jbiseda requested a review from behzadnouri October 19, 2022 10:37
Copy link
Contributor

@behzadnouri behzadnouri left a comment

Choose a reason for hiding this comment

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

lgtm

@jbiseda jbiseda merged commit 0df4be0 into solana-labs:master Oct 19, 2022
@jbiseda jbiseda added the v1.14 label Oct 26, 2022
mergify bot pushed a commit that referenced this pull request Oct 26, 2022
brooksprumo pushed a commit that referenced this pull request Oct 26, 2022
mergify bot added a commit that referenced this pull request Oct 26, 2022
enable repair ping/pong cache (#28408)

(cherry picked from commit 0df4be0)

Co-authored-by: Jeff Biseda <jbiseda@gmail.com>
gnapoli23 pushed a commit to gnapoli23/solana that referenced this pull request Dec 16, 2022
@jbiseda jbiseda deleted the reenable-repair-ping-pong branch January 31, 2023 23:53
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants