diff --git a/Cargo.lock b/Cargo.lock index 821a203d..fb3a74b6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7974,6 +7974,7 @@ dependencies = [ "bytesize", "chrono", "criterion", + "dunce", "enumset", "faster-hex", "flatbuffers", diff --git a/Cargo.toml b/Cargo.toml index b09e7730..948e1063 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -184,6 +184,7 @@ criterion = { version = "0.8", features = ["html_reports"] } crossbeam-queue = "0.3.12" datafusion = "51.0.0" derive_builder = "0.20.2" +dunce = "1.0.5" enumset = "1.1.10" faster-hex = "0.10.0" flate2 = "1.1.5" diff --git a/crates/ecstore/Cargo.toml b/crates/ecstore/Cargo.toml index d4fe7d4c..aff30459 100644 --- a/crates/ecstore/Cargo.toml +++ b/crates/ecstore/Cargo.toml @@ -108,6 +108,7 @@ google-cloud-storage = { workspace = true } google-cloud-auth = { workspace = true } aws-config = { workspace = true } faster-hex = { workspace = true } +dunce = { workspace = true } [dev-dependencies] diff --git a/crates/ecstore/src/disk/local.rs b/crates/ecstore/src/disk/local.rs index 09991fc5..6aadb533 100644 --- a/crates/ecstore/src/disk/local.rs +++ b/crates/ecstore/src/disk/local.rs @@ -129,7 +129,8 @@ impl LocalDisk { pub async fn new(ep: &Endpoint, cleanup: bool) -> Result { debug!("Creating local disk"); // Use optimized path resolution instead of absolutize() for better performance - let root = match std::fs::canonicalize(ep.get_file_path()) { + // Use dunce::canonicalize instead of std::fs::canonicalize to avoid UNC paths on Windows + let root = match dunce::canonicalize(ep.get_file_path()) { Ok(path) => path, Err(e) => { if e.kind() == ErrorKind::NotFound {