Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ledger-tool/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1256,7 +1256,7 @@ fn main() {
bank.clean_accounts();
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);
exit(1);
});
Expand Down
2 changes: 1 addition & 1 deletion ledger/src/blockstore.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2700,7 +2700,7 @@ pub fn create_new_ledger(
// ensure the genesis archive can be unpacked and it is under
// 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
let unpack_check = unpack_genesis_archive(
&archive_path,
Expand Down
5 changes: 4 additions & 1 deletion local-cluster/src/local_cluster.rs
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ impl LocalCluster {
leader_node.info.rpc.port(),
leader_node.info.rpc_pubsub.port(),
));
leader_config.account_paths = vec![leader_ledger_path.join("accounts")];
Copy link
Copy Markdown
Contributor Author

@ryoqun ryoqun Jun 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I wanted to fix this sneaky behavior as well... I don't think we should accept empty account_paths first of all... But I punted it...:

} else {
// Create a temporary set of accounts directories, used primarily
// for testing
let (temp_dirs, paths) = get_temp_accounts_paths(DEFAULT_NUM_DIRS).unwrap();
Self {
paths,
temp_paths: Some(temp_dirs),
..Self::default()
}
};

let leader_server = Validator::new(
leader_node,
&leader_keypair,
Expand Down Expand Up @@ -300,6 +301,7 @@ impl LocalCluster {
validator_node.info.rpc_pubsub.port(),
));
let voting_keypair = Arc::new(voting_keypair);
config.account_paths = vec![ledger_path.join("accounts")];
let validator_server = Validator::new(
validator_node,
&validator_keypair,
Expand Down Expand Up @@ -558,7 +560,8 @@ impl Cluster for LocalCluster {

// Restart the node
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(
node,
&validator_info.keypair,
Expand Down
12 changes: 9 additions & 3 deletions local-cluster/tests/local_cluster.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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>) {
let account_storage_dirs: Vec<TempDir> = (0..num_account_paths)
.map(|_| TempDir::new().unwrap())
.map(|_| tempfile::tempdir_in(farf_dir()).unwrap())
.collect();
let account_storage_paths: Vec<_> = account_storage_dirs
.iter()
Expand All @@ -1205,8 +1211,8 @@ fn setup_snapshot_validator_config(
num_account_paths: usize,
) -> SnapshotValidatorConfig {
// Create the snapshot config
let snapshot_dir = TempDir::new().unwrap();
let snapshot_output_path = TempDir::new().unwrap();
let snapshot_dir = tempfile::tempdir_in(farf_dir()).unwrap();
let snapshot_output_path = tempfile::tempdir_in(farf_dir()).unwrap();
let snapshot_config = SnapshotConfig {
snapshot_interval_slots,
snapshot_package_output_path: PathBuf::from(snapshot_output_path.path()),
Expand Down
2 changes: 1 addition & 1 deletion runtime/src/snapshot_utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ pub fn archive_snapshot_package(snapshot_package: &AccountsPackage) -> Result<()
fs::create_dir_all(tar_dir)?;

// 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_snapshots_dir = staging_dir.path().join(TAR_SNAPSHOTS_DIR);
let staging_version_file = staging_dir.path().join(TAR_VERSION_FILE);
Expand Down