From 10f99fdfd2160ac8a1285d7a37b6de4294373e0c Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Tue, 17 Mar 2026 11:27:54 -0700 Subject: [PATCH] Match Go VolumeEcShardsCopy: append to .ecj file instead of truncating --- seaweed-volume/src/server/grpc_server.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/seaweed-volume/src/server/grpc_server.rs b/seaweed-volume/src/server/grpc_server.rs index 22de8eb0b..bf659c257 100644 --- a/seaweed-volume/src/server/grpc_server.rs +++ b/seaweed-volume/src/server/grpc_server.rs @@ -2247,7 +2247,10 @@ impl VolumeServer for VolumeGrpcService { crate::storage::volume::volume_file_name(&dest_idx_dir, &req.collection, vid); format!("{}.ecj", base) }; - let mut file = std::fs::File::create(&file_path) + let mut file = std::fs::OpenOptions::new() + .create(true) + .append(true) + .open(&file_path) .map_err(|e| Status::internal(format!("create {}: {}", file_path, e)))?; while let Some(chunk) = stream .message()