-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Replay slots from blocktree in new forks #2975
Replay slots from blocktree in new forks #2975
Conversation
src/tvu.rs
Outdated
@@ -34,7 +33,7 @@ use std::sync::{Arc, RwLock}; | |||
use std::thread; | |||
|
|||
pub struct TvuRotationInfo { | |||
pub bank: Arc<Bank>, // Bank to use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you wouldn't rather just take a bank and a slot?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rob-solana block tree doesn't have any data for the next bank yet.
src/replay_stage.rs
Outdated
// RPC can be made aware of last slot's bank | ||
to_leader_sender | ||
.send(TvuRotationInfo { | ||
tick_height: bank.tick_height(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how come we don't just send the new Bank?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rob-solana because the notification will move into replay stage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rob-solana where is the new bank? i just have a parent in that context.
15e82ad
to
25044d1
Compare
Codecov Report
@@ Coverage Diff @@
## master #2975 +/- ##
========================================
+ Coverage 77.4% 77.4% +<.1%
========================================
Files 132 132
Lines 20257 20207 -50
========================================
- Hits 15680 15660 -20
+ Misses 4577 4547 -30 |
6bc7c16
to
65b8a66
Compare
looks tight |
65b8a66
to
fd0e764
Compare
src/replay_stage.rs
Outdated
// TODO: Remove this soon once we boot the leader from ClusterInfo | ||
cluster_info.write().unwrap().set_leader(leader_id); | ||
if next_leader == my_id { | ||
let mut wforks = bank_forks.write().unwrap(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you make this a one-liner? these wXXX or rXXX bug my eyes...
bank_forks.write().unwrap().insert(tpu_bank);
1a6bb3e
to
52bd20d
Compare
Can you rebase? |
52bd20d
to
6b2697f
Compare
* wen_restart: Add wen_restart_coordinator argument. * rename LEADER_INDEX with COORDINATOR_INDEX
Problem
Replay stage is not tracking forks correctly as they are delivered to Blocktree.
Summary of Changes
Replay stage main loop:
Fixes #