Change leader rotation time to a multiple of ticks per block (#2414)
* Change leader rotation time to a multiple of ticks per block * fix component dependencies * review comments
This commit is contained in:
parent
fec47a09a9
commit
fa4608a95d
|
@ -19,10 +19,11 @@ use solana_vote_signer::rpc::LocalVoteSigner;
|
|||
use std::io::Cursor;
|
||||
use std::sync::Arc;
|
||||
|
||||
pub const DEFAULT_BOOTSTRAP_HEIGHT: u64 = 1000;
|
||||
pub const DEFAULT_LEADER_ROTATION_INTERVAL: u64 = 100;
|
||||
pub const DEFAULT_SEED_ROTATION_INTERVAL: u64 = 1000;
|
||||
pub const DEFAULT_ACTIVE_WINDOW_LENGTH: u64 = 1000;
|
||||
pub const TICKS_PER_BLOCK: u64 = 4;
|
||||
pub const DEFAULT_BOOTSTRAP_HEIGHT: u64 = TICKS_PER_BLOCK * 256;
|
||||
pub const DEFAULT_LEADER_ROTATION_INTERVAL: u64 = TICKS_PER_BLOCK * 32;
|
||||
pub const DEFAULT_SEED_ROTATION_INTERVAL: u64 = TICKS_PER_BLOCK * 256;
|
||||
pub const DEFAULT_ACTIVE_WINDOW_LENGTH: u64 = TICKS_PER_BLOCK * 256;
|
||||
|
||||
pub struct LeaderSchedulerConfig {
|
||||
// The interval at which to rotate the leader, should be much less than
|
||||
|
|
|
@ -7,6 +7,7 @@ use crate::entry::{EntryReceiver, EntrySender};
|
|||
use solana_sdk::hash::Hash;
|
||||
|
||||
use crate::entry::EntrySlice;
|
||||
use crate::leader_scheduler::TICKS_PER_BLOCK;
|
||||
use crate::packet::BlobError;
|
||||
use crate::result::{Error, Result};
|
||||
use crate::service::Service;
|
||||
|
@ -25,7 +26,6 @@ use std::thread::{self, Builder, JoinHandle};
|
|||
use std::time::Duration;
|
||||
use std::time::Instant;
|
||||
|
||||
pub const BLOCK_TICK_COUNT: u64 = 4;
|
||||
pub const MAX_ENTRY_RECV_PER_ITER: usize = 512;
|
||||
|
||||
#[derive(Debug, PartialEq, Eq, Clone)]
|
||||
|
@ -104,7 +104,7 @@ impl ReplayStage {
|
|||
let my_id = keypair.pubkey();
|
||||
|
||||
// Next vote tick is ceiling of (current tick/ticks per block)
|
||||
let mut num_ticks_to_next_vote = BLOCK_TICK_COUNT - (bank.tick_height() % BLOCK_TICK_COUNT);
|
||||
let mut num_ticks_to_next_vote = TICKS_PER_BLOCK - (bank.tick_height() % TICKS_PER_BLOCK);
|
||||
let mut start_entry_index = 0;
|
||||
for (i, entry) in entries.iter().enumerate() {
|
||||
inc_new_counter_info!("replicate-stage_bank-tick", bank.tick_height() as usize);
|
||||
|
@ -157,7 +157,7 @@ impl ReplayStage {
|
|||
break;
|
||||
}
|
||||
start_entry_index = i + 1;
|
||||
num_ticks_to_next_vote = BLOCK_TICK_COUNT;
|
||||
num_ticks_to_next_vote = TICKS_PER_BLOCK;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue