Skip to content

Commit

Permalink
2/3: Postpone cloning the db_path
Browse files Browse the repository at this point in the history
Want access to it after the last init_wal for better errors
  • Loading branch information
rkuris committed Jun 13, 2023
1 parent e7f9fd1 commit 83408fe
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
4 changes: 2 additions & 2 deletions firewood/src/db.rs
Original file line number Diff line number Diff line change
Expand Up @@ -664,8 +664,8 @@ impl Db {
};
let root_hash_staging = StoreRevMut::new(root_hash_cache);

// recover from Wal
disk_requester.init_wal("wal", db_path);
// recover from WAL
disk_requester.init_wal("wal", &db_path);

// set up the storage layout

Expand Down
12 changes: 6 additions & 6 deletions firewood/src/storage/buffer.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//! Disk buffer for staging in memory pages and flushing them to disk.
use std::fmt::Debug;
use std::path::PathBuf;
use std::path::{Path, PathBuf};
use std::rc::Rc;
use std::sync::Arc;
use std::{cell::RefCell, collections::HashMap};
Expand Down Expand Up @@ -452,10 +452,10 @@ impl DiskBufferRequester {
self.sender.blocking_send(BufferCmd::Shutdown).ok().unwrap()
}

/// Initialize the Wal.
pub fn init_wal(&self, waldir: &str, rootpath: PathBuf) {
/// Initialize the WAL.
pub fn init_wal(&self, waldir: &str, rootpath: &Path) {
self.sender
.blocking_send(BufferCmd::InitWal(rootpath, waldir.to_string()))
.blocking_send(BufferCmd::InitWal(rootpath.to_path_buf(), waldir.to_string()))
.map_err(StoreError::Send)
.ok();
}
Expand Down Expand Up @@ -517,7 +517,7 @@ mod tests {
let state_path = file::touch_dir("state", &root_db_path).unwrap();
assert!(reset);
// create a new wal directory on top of root_db_fd
disk_requester.init_wal("wal", root_db_path);
disk_requester.init_wal("wal", &root_db_path);

// create a new state cache which tracks on disk state.
let state_cache = Rc::new(
Expand Down Expand Up @@ -605,7 +605,7 @@ mod tests {
let state_path = file::touch_dir("state", &root_db_path).unwrap();
assert!(reset);
// create a new wal directory on top of root_db_fd
disk_requester.init_wal("wal", root_db_path);
disk_requester.init_wal("wal", &root_db_path);

// create a new state cache which tracks on disk state.
let state_cache = Rc::new(
Expand Down

0 comments on commit 83408fe

Please sign in to comment.