This commit is contained in:
Carl 2018-12-11 18:51:17 -08:00 committed by Grimes
parent 245362db96
commit a05a378db4
4 changed files with 8 additions and 76 deletions

View File

@ -20,7 +20,6 @@ use crate::crds_gossip_error::CrdsGossipError;
use crate::crds_gossip_pull::CRDS_GOSSIP_PULL_CRDS_TIMEOUT_MS; use crate::crds_gossip_pull::CRDS_GOSSIP_PULL_CRDS_TIMEOUT_MS;
use crate::crds_value::{CrdsValue, CrdsValueLabel, LeaderId}; use crate::crds_value::{CrdsValue, CrdsValueLabel, LeaderId};
use crate::db_ledger::{DbLedger, LedgerColumnFamily, MetaCf, DEFAULT_SLOT_HEIGHT}; use crate::db_ledger::{DbLedger, LedgerColumnFamily, MetaCf, DEFAULT_SLOT_HEIGHT};
use crate::ledger::LedgerWindow;
use crate::netutil::{bind_in_range, bind_to, find_available_port_in_range, multi_bind_in_range}; use crate::netutil::{bind_in_range, bind_to, find_available_port_in_range, multi_bind_in_range};
use crate::packet::{to_blob, Blob, SharedBlob, BLOB_SIZE}; use crate::packet::{to_blob, Blob, SharedBlob, BLOB_SIZE};
use crate::result::Result; use crate::result::Result;
@ -676,7 +675,6 @@ impl ClusterInfo {
from_addr: &SocketAddr, from_addr: &SocketAddr,
db_ledger: Option<&Arc<RwLock<DbLedger>>>, db_ledger: Option<&Arc<RwLock<DbLedger>>>,
me: &NodeInfo, me: &NodeInfo,
leader_id: Pubkey,
ix: u64, ix: u64,
) -> Vec<SharedBlob> { ) -> Vec<SharedBlob> {
if let Some(db_ledger) = db_ledger { if let Some(db_ledger) = db_ledger {
@ -853,7 +851,6 @@ impl ClusterInfo {
} }
me.write().unwrap().insert_info(from.clone()); me.write().unwrap().insert_info(from.clone());
let leader_id = me.read().unwrap().leader_id();
let my_info = me.read().unwrap().my_data().clone(); let my_info = me.read().unwrap().my_data().clone();
inc_new_counter_info!("cluster_info-window-request-recv", 1); inc_new_counter_info!("cluster_info-window-request-recv", 1);
trace!( trace!(
@ -862,7 +859,7 @@ impl ClusterInfo {
from.id, from.id,
ix, ix,
); );
let res = Self::run_window_request(&from, &from_addr, db_ledger, &my_info, leader_id, ix); let res = Self::run_window_request(&from, &from_addr, db_ledger, &my_info, ix);
report_time_spent( report_time_spent(
"RequestWindowIndex", "RequestWindowIndex",
&now.elapsed(), &now.elapsed(),
@ -1110,15 +1107,12 @@ fn report_time_spent(label: &str, time: &Duration, extra: &str) {
mod tests { mod tests {
use super::*; use super::*;
use crate::crds_value::CrdsValueLabel; use crate::crds_value::CrdsValueLabel;
use crate::db_ledger::{DbLedger, DEFAULT_SLOT_HEIGHT}; use crate::db_ledger::DbLedger;
use crate::entry::Entry; use crate::ledger::get_tmp_ledger_path;
use crate::ledger::{get_tmp_ledger_path, LedgerWindow, LedgerWriter};
use crate::logger; use crate::logger;
use crate::packet::BLOB_HEADER_SIZE;
use crate::result::Error; use crate::result::Error;
use packet::{Blob, BLOB_HEADER_SIZE};
use solana_sdk::hash::{hash, Hash};
use solana_sdk::signature::{Keypair, KeypairUtil}; use solana_sdk::signature::{Keypair, KeypairUtil};
use std::fs::remove_dir_all;
use std::net::{IpAddr, Ipv4Addr, SocketAddr}; use std::net::{IpAddr, Ipv4Addr, SocketAddr};
use std::sync::{Arc, RwLock}; use std::sync::{Arc, RwLock};
@ -1226,15 +1220,8 @@ mod tests {
socketaddr!("127.0.0.1:1239"), socketaddr!("127.0.0.1:1239"),
0, 0,
); );
let leader_id = me.id; let rv =
let rv = ClusterInfo::run_window_request( ClusterInfo::run_window_request(&me, &socketaddr_any!(), Some(&db_ledger), &me, 0);
&me,
&socketaddr_any!(),
Some(&db_ledger),
&me,
leader_id,
0,
);
assert!(rv.is_empty()); assert!(rv.is_empty());
let data_size = 1; let data_size = 1;
let blob = SharedBlob::default(); let blob = SharedBlob::default();
@ -1253,14 +1240,8 @@ mod tests {
.expect("Expect successful ledger write"); .expect("Expect successful ledger write");
} }
let rv = ClusterInfo::run_window_request( let rv =
&me, ClusterInfo::run_window_request(&me, &socketaddr_any!(), Some(&db_ledger), &me, 1);
&socketaddr_any!(),
Some(&db_ledger),
&me,
leader_id,
1,
);
assert!(!rv.is_empty()); assert!(!rv.is_empty());
let v = rv[0].clone(); let v = rv[0].clone();
assert_eq!(v.read().unwrap().index().unwrap(), 1); assert_eq!(v.read().unwrap().index().unwrap(), 1);

View File

@ -793,50 +793,6 @@ mod tests {
DbLedger::destroy(&ledger_path).expect("Expected successful database destruction"); DbLedger::destroy(&ledger_path).expect("Expected successful database destruction");
} }
#[test]
fn test_insert_data_blobs_slots() {
let num_blobs = 10;
let entries = make_tiny_test_entries(num_blobs);
let shared_blobs = entries.to_blobs();
let blob_locks: Vec<_> = shared_blobs.iter().map(|b| b.read().unwrap()).collect();
let blobs: Vec<&Blob> = blob_locks.iter().map(|b| &**b).collect();
let ledger_path = get_tmp_ledger_path("test_insert_data_blobs_slots");
let ledger = DbLedger::open(&ledger_path).unwrap();
// Insert last blob into next slot
let result = ledger
.insert_data_blob(
&DataCf::key(DEFAULT_SLOT_HEIGHT + 1, (num_blobs - 1) as u64),
blobs.last().unwrap(),
)
.unwrap();
assert_eq!(result.len(), 0);
// Insert blobs into first slot, check for consecutive blobs
for i in (0..num_blobs - 1).rev() {
let result = ledger
.insert_data_blob(&DataCf::key(DEFAULT_SLOT_HEIGHT, i as u64), blobs[i])
.unwrap();
let meta = ledger
.meta_cf
.get(&ledger.db, &MetaCf::key(DEFAULT_SLOT_HEIGHT))
.unwrap()
.expect("Expected metadata object to exist");
if i != 0 {
assert_eq!(result.len(), 0);
assert!(meta.consumed == 0 && meta.received == num_blobs as u64);
} else {
assert_eq!(result, entries);
assert!(meta.consumed == num_blobs as u64 && meta.received == num_blobs as u64);
}
}
// Destroying database without closing it first is undefined behavior
drop(ledger);
DbLedger::destroy(&ledger_path).expect("Expected successful database destruction");
}
#[test] #[test]
pub fn test_iteration_order() { pub fn test_iteration_order() {
let slot = 0; let slot = 0;

View File

@ -13,7 +13,6 @@ use crate::service::Service;
use crate::store_ledger_stage::StoreLedgerStage; use crate::store_ledger_stage::StoreLedgerStage;
use crate::streamer::BlobReceiver; use crate::streamer::BlobReceiver;
use crate::thin_client::retry_get_balance; use crate::thin_client::retry_get_balance;
use crate::window;
use crate::window_service::window_service; use crate::window_service::window_service;
use rand::thread_rng; use rand::thread_rng;
use rand::Rng; use rand::Rng;
@ -97,9 +96,6 @@ impl Replicator {
let entry_height = 0; let entry_height = 0;
let max_entry_height = 1; let max_entry_height = 1;
const REPLICATOR_WINDOW_SIZE: usize = 32 * 1024;
let window = window::new_window(REPLICATOR_WINDOW_SIZE);
info!("Replicator: id: {}", keypair.pubkey()); info!("Replicator: id: {}", keypair.pubkey());
info!("Creating cluster info...."); info!("Creating cluster info....");
let cluster_info = Arc::new(RwLock::new(ClusterInfo::new(node.info))); let cluster_info = Arc::new(RwLock::new(ClusterInfo::new(node.info)));

View File

@ -22,7 +22,6 @@ use solana::poh_service::NUM_TICKS_PER_SECOND;
use solana::result; use solana::result;
use solana::service::Service; use solana::service::Service;
use solana::thin_client::{retry_get_balance, ThinClient}; use solana::thin_client::{retry_get_balance, ThinClient};
use solana::window::default_window;
use solana_sdk::hash::Hash; use solana_sdk::hash::Hash;
use solana_sdk::pubkey::Pubkey; use solana_sdk::pubkey::Pubkey;
use solana_sdk::signature::{Keypair, KeypairUtil}; use solana_sdk::signature::{Keypair, KeypairUtil};