From f88c72c41e134949adb26518f38894cc6caca690 Mon Sep 17 00:00:00 2001 From: Rob Walker Date: Tue, 16 Jul 2019 22:04:40 -0700 Subject: [PATCH] stress tweaks (#5140) --- core/src/blocktree_processor.rs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/core/src/blocktree_processor.rs b/core/src/blocktree_processor.rs index 32bffc65ec..def50e11d3 100644 --- a/core/src/blocktree_processor.rs +++ b/core/src/blocktree_processor.rs @@ -306,6 +306,7 @@ pub mod tests { use crate::genesis_utils::{ create_genesis_block, create_genesis_block_with_leader, GenesisBlockInfo, }; + use rand::{thread_rng, Rng}; use solana_runtime::epoch_schedule::EpochSchedule; use solana_sdk::hash::Hash; use solana_sdk::instruction::InstructionError; @@ -1266,7 +1267,7 @@ pub mod tests { } = create_genesis_block(1_000_000_000); let mut bank = Bank::new(&genesis_block); - const NUM_TRANSFERS: usize = 100; + const NUM_TRANSFERS: usize = 128; let keypairs: Vec<_> = (0..NUM_TRANSFERS * 2).map(|_| Keypair::new()).collect(); // give everybody one lamport @@ -1277,6 +1278,7 @@ pub mod tests { let mut i = 0; let mut hash = bank.last_blockhash(); + let mut root: Option> = None; loop { let entries: Vec<_> = (0..NUM_TRANSFERS) .map(|i| { @@ -1322,10 +1324,19 @@ pub mod tests { ) .expect("process ticks failed"); - bank.squash(); + let parent = Arc::new(bank); + + if i % 16 == 0 { + root.map(|old_root| old_root.squash()); + root = Some(parent.clone()); + } i += 1; - bank = Bank::new_from_parent(&Arc::new(bank), &Pubkey::default(), i as u64); + bank = Bank::new_from_parent( + &parent, + &Pubkey::default(), + parent.slot() + thread_rng().gen_range(1, 3), + ); } }