Add sampling logic and DuplicateSlotRepairStatus module (#18721)

This commit is contained in:
carllin
2021-07-21 11:15:08 -07:00
committed by GitHub
parent d751d5b6e8
commit 588c0464b8
11 changed files with 951 additions and 321 deletions

View File

@ -58,6 +58,8 @@ use std::{
},
time::Instant,
};
use tempfile::TempDir;
use thiserror::Error;
use trees::{Tree, TreeWalk};
@ -3795,6 +3797,19 @@ macro_rules! get_tmp_ledger_path {
};
}
#[macro_export]
macro_rules! get_tmp_ledger_path_auto_delete {
() => {
$crate::blockstore::get_ledger_path_from_name_auto_delete($crate::tmp_ledger_name!())
};
}
pub fn get_ledger_path_from_name_auto_delete(name: &str) -> TempDir {
let path = get_ledger_path_from_name(name);
fs::create_dir_all(&path).unwrap();
TempDir::new_in(path).unwrap()
}
pub fn get_ledger_path_from_name(name: &str) -> PathBuf {
use std::env;
let out_dir = env::var("FARF_DIR").unwrap_or_else(|_| "farf".to_string());