leader_scheduler: remove bootstrap_height

This commit is contained in:
Michael Vines
2019-02-05 08:03:52 -08:00
parent 73979d8f5a
commit c5a74ada05
27 changed files with 1591 additions and 1789 deletions

View File

@ -3,7 +3,7 @@ use log::*;
use solana::client::mk_client;
use solana::cluster_info::{Node, NodeInfo, FULLNODE_PORT_RANGE};
use solana::fullnode::{Fullnode, FullnodeConfig};
use solana::leader_scheduler::LeaderScheduler;
use solana::genesis_block::GenesisBlock;
use solana::local_vote_signer_service::LocalVoteSignerService;
use solana::socketaddr;
use solana::thin_client::{poll_gossip_for_leader, ThinClient};
@ -19,9 +19,6 @@ use std::net::{Ipv4Addr, SocketAddr};
use std::process::exit;
use std::sync::mpsc::channel;
use std::sync::Arc;
use std::sync::RwLock;
use std::thread::sleep;
use std::time::Duration;
fn parse_identity(matches: &ArgMatches<'_>) -> (Keypair, SocketAddr) {
if let Some(i) = matches.value_of("identity") {
@ -248,13 +245,16 @@ fn main() {
node.info.rpc.set_port(rpc_port);
node.info.rpc_pubsub.set_port(rpc_pubsub_port);
let mut leader_scheduler = LeaderScheduler::default();
leader_scheduler.use_only_bootstrap_leader = use_only_bootstrap_leader;
let genesis_block = GenesisBlock::load(ledger_path).expect("Unable to load genesis block");
if use_only_bootstrap_leader && node.info.id != genesis_block.bootstrap_leader_id {
fullnode_config.voting_disabled = true;
}
let vote_signer: Box<dyn VoteSigner + Sync + Send> = if !no_signer {
info!("Signer service address: {:?}", signer_addr);
info!("Vote signer service address: {:?}", signer_addr);
Box::new(RemoteVoteSigner::new(signer_addr))
} else {
info!("Node will not vote");
Box::new(LocalVoteSigner::default())
};
let vote_signer = VotingKeypair::new_with_signer(&keypair, vote_signer);
@ -266,7 +266,6 @@ fn main() {
node,
&keypair,
ledger_path,
Arc::new(RwLock::new(leader_scheduler)),
vote_signer,
cluster_entrypoint
.map(|i| NodeInfo::new_entry_point(&i))
@ -277,7 +276,7 @@ fn main() {
let (rotation_sender, rotation_receiver) = channel();
fullnode.run(Some(rotation_sender));
if !no_signer {
if !fullnode_config.voting_disabled {
let leader_node_info = loop {
info!("Looking for leader...");
match poll_gossip_for_leader(gossip_addr, Some(10)) {