diff --git a/seaweed-volume/src/server/grpc_server.rs b/seaweed-volume/src/server/grpc_server.rs index 532e2ba00..96b602bb4 100644 --- a/seaweed-volume/src/server/grpc_server.rs +++ b/seaweed-volume/src/server/grpc_server.rs @@ -631,12 +631,8 @@ impl VolumeServer for VolumeGrpcService { ) -> Result, Status> { let vid = VolumeId(request.into_inner().volume_id); let mut store = self.state.store.write().unwrap(); - if !store.unmount_volume(vid) { - return Err(Status::not_found(format!( - "volume {} not found", - vid - ))); - } + // Go returns nil when volume is not found (idempotent unmount) + store.unmount_volume(vid); Ok(Response::new(volume_server_pb::VolumeUnmountResponse {})) }