Add FullnodeConfig struct to Fullnode::new* functions

This avoids having to touch *every* Fullnode::new* call site when
a new fullnode option is added
This commit is contained in:
Michael Vines
2019-01-29 08:51:01 -08:00
parent 6da7a784f2
commit ae7f169027
5 changed files with 83 additions and 171 deletions

View File

@ -163,9 +163,7 @@ fn test_multi_node_ledger_window() -> result::Result<()> {
))),
Some(Arc::new(signer_proxy)),
None,
false,
None,
None,
Default::default(),
);
// start up another validator from zero, converge and then check
@ -184,9 +182,7 @@ fn test_multi_node_ledger_window() -> result::Result<()> {
))),
Some(Arc::new(signer_proxy)),
Some(&leader_data),
false,
None,
None,
Default::default(),
);
// Send validator some tokens to vote
@ -269,9 +265,7 @@ fn test_multi_node_validator_catchup_from_zero() -> result::Result<()> {
))),
Some(Arc::new(signer_proxy)),
None,
false,
None,
None,
Default::default(),
);
let mut nodes = vec![server];
@ -304,9 +298,7 @@ fn test_multi_node_validator_catchup_from_zero() -> result::Result<()> {
))),
Some(Arc::new(signer_proxy)),
Some(&leader_data),
false,
None,
None,
Default::default(),
);
nodes.push(val);
}
@ -368,9 +360,7 @@ fn test_multi_node_validator_catchup_from_zero() -> result::Result<()> {
))),
Some(Arc::new(signer_proxy)),
Some(&leader_data),
false,
None,
None,
Default::default(),
);
nodes.push(val);
let servers = converge(&leader_data, N + 2); // contains the leader and new node
@ -459,9 +449,7 @@ fn test_multi_node_basic() {
))),
Some(Arc::new(signer_proxy)),
None,
false,
None,
None,
Default::default(),
);
let mut nodes = vec![server];
@ -490,9 +478,7 @@ fn test_multi_node_basic() {
))),
Some(Arc::new(signer_proxy)),
Some(&leader_data),
false,
None,
None,
Default::default(),
);
nodes.push(val);
}
@ -571,9 +557,7 @@ fn test_boot_validator_from_file() -> result::Result<()> {
))),
Some(Arc::new(signer_proxy)),
None,
false,
None,
None,
Default::default(),
);
let leader_balance =
send_tx_and_retry_get_balance(&leader_data, &alice, &bob_pubkey, 500, Some(500)).unwrap();
@ -597,9 +581,7 @@ fn test_boot_validator_from_file() -> result::Result<()> {
))),
Some(Arc::new(signer_proxy)),
Some(&leader_data),
false,
None,
None,
Default::default(),
);
let mut client = mk_client(&validator_data);
let getbal = retry_get_balance(&mut client, &bob_pubkey, Some(leader_balance));
@ -631,9 +613,7 @@ fn create_leader(
))),
Some(signer),
None,
false,
None,
None,
Default::default(),
);
(leader_data, leader_fullnode)
}
@ -709,9 +689,7 @@ fn test_leader_restart_validator_start_from_old_ledger() -> result::Result<()> {
))),
Some(Arc::new(signer_proxy)),
Some(&leader_data),
false,
None,
None,
Default::default(),
);
// trigger broadcast, validator should catch up from leader, whose window contains
@ -779,9 +757,7 @@ fn test_multi_node_dynamic_network() {
))),
Some(Arc::new(signer_proxy)),
None,
true,
None,
None,
Default::default(),
);
info!(
"found leader: {:?}",
@ -855,9 +831,7 @@ fn test_multi_node_dynamic_network() {
))),
Some(Arc::new(signer_proxy)),
Some(&leader_data),
true,
None,
None,
Default::default(),
);
(rd, val)
})
@ -1037,9 +1011,7 @@ fn test_leader_to_validator_transition() {
Arc::new(RwLock::new(LeaderScheduler::new(&leader_scheduler_config))),
Some(Arc::new(signer_proxy)),
Some(&leader_info),
false,
None,
None,
Default::default(),
);
// Make an extra node for our leader to broadcast to,
@ -1193,9 +1165,7 @@ fn test_leader_validator_basic() {
Arc::new(RwLock::new(LeaderScheduler::new(&leader_scheduler_config))),
Some(Arc::new(signer_proxy)),
Some(&leader_info),
false,
None,
None,
Default::default(),
);
// Start the leader fullnode
@ -1207,9 +1177,7 @@ fn test_leader_validator_basic() {
Arc::new(RwLock::new(LeaderScheduler::new(&leader_scheduler_config))),
Some(Arc::new(signer_proxy)),
Some(&leader_info),
false,
None,
None,
Default::default(),
);
// Wait for convergence
@ -1403,9 +1371,7 @@ fn test_dropped_handoff_recovery() {
Arc::new(RwLock::new(LeaderScheduler::new(&leader_scheduler_config))),
Some(Arc::new(signer_proxy)),
Some(&bootstrap_leader_info),
false,
None,
None,
Default::default(),
);
let mut nodes = vec![bootstrap_leader];
@ -1427,9 +1393,7 @@ fn test_dropped_handoff_recovery() {
Arc::new(RwLock::new(LeaderScheduler::new(&leader_scheduler_config))),
Some(Arc::new(signer_proxy)),
Some(&bootstrap_leader_info),
false,
None,
None,
Default::default(),
);
nodes.push(validator);
@ -1455,9 +1419,7 @@ fn test_dropped_handoff_recovery() {
Arc::new(RwLock::new(LeaderScheduler::new(&leader_scheduler_config))),
Some(Arc::new(signer_proxy)),
Some(&bootstrap_leader_info),
false,
None,
None,
Default::default(),
);
info!("Wait for 'next leader' to assume leader role");
@ -1606,9 +1568,7 @@ fn test_full_leader_validator_network() {
leader_scheduler.clone(),
Some(Arc::new(signer_proxy)),
Some(&bootstrap_leader_info),
false,
None,
None,
Default::default(),
);
schedules.push(leader_scheduler);
@ -1625,9 +1585,7 @@ fn test_full_leader_validator_network() {
leader_scheduler.clone(),
Some(Arc::new(signer_proxy)),
Some(&bootstrap_leader_info),
false,
None,
None,
Default::default(),
);
schedules.push(leader_scheduler);
@ -1804,9 +1762,7 @@ fn test_broadcast_last_tick() {
Arc::new(RwLock::new(LeaderScheduler::new(&leader_scheduler_config))),
Some(Arc::new(signer_proxy)),
Some(&bootstrap_leader_info),
false,
None,
None,
Default::default(),
);
// Wait for convergence

View File

@ -11,7 +11,7 @@ use solana::cluster_info::{ClusterInfo, Node, NodeInfo};
use solana::db_ledger::DbLedger;
use solana::db_ledger::{create_tmp_genesis, get_tmp_ledger_path, tmp_copy_ledger};
use solana::entry::Entry;
use solana::fullnode::Fullnode;
use solana::fullnode::{Fullnode, FullnodeConfig};
use solana::leader_scheduler::LeaderScheduler;
use solana::replicator::Replicator;
use solana::storage_stage::STORAGE_ROTATE_TEST_COUNT;
@ -49,19 +49,18 @@ fn test_replicator_startup() {
{
let signer_proxy = VoteSignerProxy::new_local(&leader_keypair);
let leader = Fullnode::new_with_storage_rotate(
let mut fullnode_config = FullnodeConfig::default();
fullnode_config.storage_rotate_count = STORAGE_ROTATE_TEST_COUNT;
let leader = Fullnode::new(
leader_node,
leader_keypair,
&leader_ledger_path,
Some(Arc::new(signer_proxy)),
None,
false,
Arc::new(RwLock::new(LeaderScheduler::from_bootstrap_leader(
leader_info.id.clone(),
))),
Some(Arc::new(signer_proxy)),
None,
STORAGE_ROTATE_TEST_COUNT,
None,
fullnode_config,
);
let validator_keypair = Arc::new(Keypair::new());
@ -80,19 +79,18 @@ fn test_replicator_startup() {
#[cfg(feature = "chacha")]
let validator_node_info = validator_node.info.clone();
let validator = Fullnode::new_with_storage_rotate(
let mut fullnode_config = FullnodeConfig::default();
fullnode_config.storage_rotate_count = STORAGE_ROTATE_TEST_COUNT;
let validator = Fullnode::new(
validator_node,
validator_keypair,
&validator_ledger_path,
Some(Arc::new(signer_proxy)),
Some(&leader_info),
false,
Arc::new(RwLock::new(LeaderScheduler::from_bootstrap_leader(
leader_info.id,
))),
None,
STORAGE_ROTATE_TEST_COUNT,
None,
Some(Arc::new(signer_proxy)),
Some(&leader_info),
fullnode_config,
);
let bob = Keypair::new();
@ -287,9 +285,7 @@ fn test_replicator_startup_ledger_hang() {
))),
Some(Arc::new(signer_proxy)),
None,
false,
None,
None,
Default::default(),
);
let validator_keypair = Arc::new(Keypair::new());
@ -305,9 +301,7 @@ fn test_replicator_startup_ledger_hang() {
))),
Some(Arc::new(signer_proxy)),
Some(&leader_info),
false,
None,
None,
Default::default(),
);
info!("starting replicator node");