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:
@ -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
|
||||
|
@ -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");
|
||||
|
Reference in New Issue
Block a user