This repository was archived by the owner on Jan 22, 2025. It is now read-only.
Update epoch slots to include all missing slots#8276
Merged
pgarg66 merged 8 commits intosolana-labs:masterfrom Feb 17, 2020
Merged
Update epoch slots to include all missing slots#8276pgarg66 merged 8 commits intosolana-labs:masterfrom
pgarg66 merged 8 commits intosolana-labs:masterfrom
Conversation
pgarg66
commented
Feb 14, 2020
Codecov Report
@@ Coverage Diff @@
## master #8276 +/- ##
========================================
+ Coverage 80.6% 80.6% +<.1%
========================================
Files 253 253
Lines 55247 55386 +139
========================================
+ Hits 44550 44683 +133
- Misses 10697 10703 +6 |
carllin
reviewed
Feb 14, 2020
| .expect("expected to find at least one slot"); | ||
| let last_slot = incomplete_slots | ||
| .iter() | ||
| .last() |
Contributor
There was a problem hiding this comment.
Because this iterator implements DoubleEndedIterator , next_back() is a more efficient way to get the last item without iterating over the entire set
Contributor
Author
There was a problem hiding this comment.
LMK when you are done with the review. I'll update the PR with the required changes.
Pull request has been modified.
Contributor
Author
|
@carllin , the latest patch should start limiting the cache size, instead of limiting it based on roots. @aeyakovenko , there are two separate changes we can make down the line.
|
Member
|
@pgarg66 we just need to do 1. And replace the oldest stash. This would also reduce the churn in gossip |
Contributor
Author
mergify Bot
pushed a commit
that referenced
this pull request
Feb 20, 2020
* Update epoch slots to include all missing slots * new test for compress/decompress * address review comments * limit cache based on size, instead of comparing roots (cherry picked from commit 0d5c123) # Conflicts: # Cargo.lock
pgarg66
referenced
this pull request
in pgarg66/solana
Feb 20, 2020
* Update epoch slots to include all missing slots * new test for compress/decompress * address review comments * limit cache based on size, instead of comparing roots
pgarg66
added a commit
that referenced
this pull request
Feb 20, 2020
* Update epoch slots to include all missing slots * new test for compress/decompress * address review comments * limit cache based on size, instead of comparing roots
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Problem
Some shreds could be missing across the cluster (e.g. due to turbine failure). Such shreds will be repaired by all/most nodes. Need a mechanism to detect that most of the cluster is missing shreds/slots, so that the such shreds could be pushed thru turbine again.
Summary of Changes
This change augments epoch_slots information that's pushed thru gossip. It'll include information about all incomplete slots in the current epoch. Since the list could be large, it's getting compressed using gzip.