Consistently create temp dirs under ledger/farf (#10848)
This commit is contained in:
parent
5adf6f6bde
commit
b89e506cbb
@ -1341,7 +1341,7 @@ fn main() {
|
|||||||
bank.clean_accounts();
|
bank.clean_accounts();
|
||||||
bank.update_accounts_hash();
|
bank.update_accounts_hash();
|
||||||
|
|
||||||
let temp_dir = tempfile::TempDir::new().unwrap_or_else(|err| {
|
let temp_dir = tempfile::tempdir_in(ledger_path).unwrap_or_else(|err| {
|
||||||
eprintln!("Unable to create temporary directory: {}", err);
|
eprintln!("Unable to create temporary directory: {}", err);
|
||||||
exit(1);
|
exit(1);
|
||||||
});
|
});
|
||||||
|
@ -2700,7 +2700,7 @@ pub fn create_new_ledger(
|
|||||||
// ensure the genesis archive can be unpacked and it is under
|
// ensure the genesis archive can be unpacked and it is under
|
||||||
// max_genesis_archive_unpacked_size, immediately after creating it above.
|
// max_genesis_archive_unpacked_size, immediately after creating it above.
|
||||||
{
|
{
|
||||||
let temp_dir = tempfile::TempDir::new().unwrap();
|
let temp_dir = tempfile::tempdir_in(ledger_path).unwrap();
|
||||||
// unpack into a temp dir, while completely discarding the unpacked files
|
// unpack into a temp dir, while completely discarding the unpacked files
|
||||||
let unpack_check = unpack_genesis_archive(
|
let unpack_check = unpack_genesis_archive(
|
||||||
&archive_path,
|
&archive_path,
|
||||||
|
@ -173,6 +173,7 @@ impl LocalCluster {
|
|||||||
leader_node.info.rpc.port(),
|
leader_node.info.rpc.port(),
|
||||||
leader_node.info.rpc_pubsub.port(),
|
leader_node.info.rpc_pubsub.port(),
|
||||||
));
|
));
|
||||||
|
leader_config.account_paths = vec![leader_ledger_path.join("accounts")];
|
||||||
let leader_server = Validator::new(
|
let leader_server = Validator::new(
|
||||||
leader_node,
|
leader_node,
|
||||||
&leader_keypair,
|
&leader_keypair,
|
||||||
@ -300,6 +301,7 @@ impl LocalCluster {
|
|||||||
validator_node.info.rpc_pubsub.port(),
|
validator_node.info.rpc_pubsub.port(),
|
||||||
));
|
));
|
||||||
let voting_keypair = Arc::new(voting_keypair);
|
let voting_keypair = Arc::new(voting_keypair);
|
||||||
|
config.account_paths = vec![ledger_path.join("accounts")];
|
||||||
let validator_server = Validator::new(
|
let validator_server = Validator::new(
|
||||||
validator_node,
|
validator_node,
|
||||||
&validator_keypair,
|
&validator_keypair,
|
||||||
@ -558,7 +560,8 @@ impl Cluster for LocalCluster {
|
|||||||
|
|
||||||
// Restart the node
|
// Restart the node
|
||||||
let validator_info = &cluster_validator_info.info;
|
let validator_info = &cluster_validator_info.info;
|
||||||
|
cluster_validator_info.config.account_paths =
|
||||||
|
vec![validator_info.ledger_path.join("accounts")];
|
||||||
let restarted_node = Validator::new(
|
let restarted_node = Validator::new(
|
||||||
node,
|
node,
|
||||||
&validator_info.keypair,
|
&validator_info.keypair,
|
||||||
|
@ -1182,9 +1182,15 @@ fn wait_for_next_snapshot(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn farf_dir() -> PathBuf {
|
||||||
|
std::env::var("FARF_DIR")
|
||||||
|
.unwrap_or_else(|_| "farf".to_string())
|
||||||
|
.into()
|
||||||
|
}
|
||||||
|
|
||||||
fn generate_account_paths(num_account_paths: usize) -> (Vec<TempDir>, Vec<PathBuf>) {
|
fn generate_account_paths(num_account_paths: usize) -> (Vec<TempDir>, Vec<PathBuf>) {
|
||||||
let account_storage_dirs: Vec<TempDir> = (0..num_account_paths)
|
let account_storage_dirs: Vec<TempDir> = (0..num_account_paths)
|
||||||
.map(|_| TempDir::new().unwrap())
|
.map(|_| tempfile::tempdir_in(farf_dir()).unwrap())
|
||||||
.collect();
|
.collect();
|
||||||
let account_storage_paths: Vec<_> = account_storage_dirs
|
let account_storage_paths: Vec<_> = account_storage_dirs
|
||||||
.iter()
|
.iter()
|
||||||
@ -1205,8 +1211,8 @@ fn setup_snapshot_validator_config(
|
|||||||
num_account_paths: usize,
|
num_account_paths: usize,
|
||||||
) -> SnapshotValidatorConfig {
|
) -> SnapshotValidatorConfig {
|
||||||
// Create the snapshot config
|
// Create the snapshot config
|
||||||
let snapshot_dir = TempDir::new().unwrap();
|
let snapshot_dir = tempfile::tempdir_in(farf_dir()).unwrap();
|
||||||
let snapshot_output_path = TempDir::new().unwrap();
|
let snapshot_output_path = tempfile::tempdir_in(farf_dir()).unwrap();
|
||||||
let snapshot_config = SnapshotConfig {
|
let snapshot_config = SnapshotConfig {
|
||||||
snapshot_interval_slots,
|
snapshot_interval_slots,
|
||||||
snapshot_package_output_path: PathBuf::from(snapshot_output_path.path()),
|
snapshot_package_output_path: PathBuf::from(snapshot_output_path.path()),
|
||||||
|
@ -222,7 +222,7 @@ pub fn archive_snapshot_package(snapshot_package: &AccountsPackage) -> Result<()
|
|||||||
fs::create_dir_all(tar_dir)?;
|
fs::create_dir_all(tar_dir)?;
|
||||||
|
|
||||||
// Create the staging directories
|
// Create the staging directories
|
||||||
let staging_dir = TempDir::new()?;
|
let staging_dir = tempfile::tempdir_in(tar_dir)?;
|
||||||
let staging_accounts_dir = staging_dir.path().join(TAR_ACCOUNTS_DIR);
|
let staging_accounts_dir = staging_dir.path().join(TAR_ACCOUNTS_DIR);
|
||||||
let staging_snapshots_dir = staging_dir.path().join(TAR_SNAPSHOTS_DIR);
|
let staging_snapshots_dir = staging_dir.path().join(TAR_SNAPSHOTS_DIR);
|
||||||
let staging_version_file = staging_dir.path().join(TAR_VERSION_FILE);
|
let staging_version_file = staging_dir.path().join(TAR_VERSION_FILE);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user