From faf8347aa8d7cf15d866482729decdce2f8989fb Mon Sep 17 00:00:00 2001 From: Christien Rioux Date: Sun, 2 Jun 2024 12:54:06 -0400 Subject: [PATCH] keep 'last ditch watch cancel' from failing the whole operation --- veilid-core/src/storage_manager/mod.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/veilid-core/src/storage_manager/mod.rs b/veilid-core/src/storage_manager/mod.rs index 3a325b4a..b705e262 100644 --- a/veilid-core/src/storage_manager/mod.rs +++ b/veilid-core/src/storage_manager/mod.rs @@ -332,7 +332,7 @@ impl StorageManager { if let Some(rpc_processor) = opt_rpc_processor { // Use the safety selection we opened the record with // Use the writer we opened with as the 'watcher' as well - let opt_owvresult = self + let opt_owvresult = match self .outbound_watch_value_cancel( rpc_processor, key, @@ -342,7 +342,16 @@ impl StorageManager { active_watch.id, active_watch.watch_node, ) - .await?; + .await + { + Ok(v) => v, + Err(e) => { + log_stor!(debug + "close record watch cancel failed: {}", e + ); + None + } + }; if let Some(owvresult) = opt_owvresult { if owvresult.expiration_ts.as_u64() != 0 { log_stor!(debug