cleanup
This commit is contained in:
parent
245362db96
commit
a05a378db4
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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)));
|
||||||
|
|
|
@ -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};
|
||||||
|
|
Loading…
Reference in New Issue