Limit leader schedule search space (#8468)
* Limit leader schedule search space * Fix and add test * Rename
This commit is contained in:
@ -28,8 +28,8 @@ use std::sync::{Arc, Mutex};
|
||||
use std::time::Instant;
|
||||
use thiserror::Error;
|
||||
|
||||
const GRACE_TICKS_FACTOR: u64 = 2;
|
||||
const MAX_GRACE_SLOTS: u64 = 2;
|
||||
pub const GRACE_TICKS_FACTOR: u64 = 2;
|
||||
pub const MAX_GRACE_SLOTS: u64 = 2;
|
||||
|
||||
#[derive(Error, Debug, Clone)]
|
||||
pub enum PohRecorderError {
|
||||
@ -85,6 +85,7 @@ impl PohRecorder {
|
||||
bank.slot(),
|
||||
&bank,
|
||||
Some(&self.blockstore),
|
||||
GRACE_TICKS_FACTOR * MAX_GRACE_SLOTS,
|
||||
);
|
||||
assert_eq!(self.ticks_per_slot, bank.ticks_per_slot());
|
||||
let (leader_first_tick_height, leader_last_tick_height, grace_ticks) =
|
||||
|
@ -4,7 +4,7 @@ use crate::{
|
||||
cluster_info::ClusterInfo,
|
||||
commitment::{AggregateCommitmentService, BlockCommitmentCache, CommitmentAggregationData},
|
||||
consensus::{StakeLockout, Tower},
|
||||
poh_recorder::PohRecorder,
|
||||
poh_recorder::{PohRecorder, GRACE_TICKS_FACTOR, MAX_GRACE_SLOTS},
|
||||
result::Result,
|
||||
rewards_recorder_service::RewardsRecorderSender,
|
||||
rpc_subscriptions::RpcSubscriptions,
|
||||
@ -683,6 +683,7 @@ impl ReplayStage {
|
||||
bank.slot(),
|
||||
&bank,
|
||||
Some(blockstore),
|
||||
GRACE_TICKS_FACTOR * MAX_GRACE_SLOTS,
|
||||
);
|
||||
poh_recorder
|
||||
.lock()
|
||||
|
@ -6,7 +6,7 @@ use crate::{
|
||||
commitment::BlockCommitmentCache,
|
||||
contact_info::ContactInfo,
|
||||
gossip_service::{discover_cluster, GossipService},
|
||||
poh_recorder::PohRecorder,
|
||||
poh_recorder::{PohRecorder, GRACE_TICKS_FACTOR, MAX_GRACE_SLOTS},
|
||||
poh_service::PohService,
|
||||
rewards_recorder_service::RewardsRecorderService,
|
||||
rpc::JsonRpcConfig,
|
||||
@ -304,7 +304,13 @@ impl Validator {
|
||||
bank.tick_height(),
|
||||
bank.last_blockhash(),
|
||||
bank.slot(),
|
||||
leader_schedule_cache.next_leader_slot(&id, bank.slot(), &bank, Some(&blockstore)),
|
||||
leader_schedule_cache.next_leader_slot(
|
||||
&id,
|
||||
bank.slot(),
|
||||
&bank,
|
||||
Some(&blockstore),
|
||||
GRACE_TICKS_FACTOR * MAX_GRACE_SLOTS,
|
||||
),
|
||||
bank.ticks_per_slot(),
|
||||
&id,
|
||||
&blockstore,
|
||||
|
Reference in New Issue
Block a user