From 73ab5037d80e55f4ae112c87fa442be407f358c5 Mon Sep 17 00:00:00 2001 From: Riz Ashraf Date: Mon, 21 Sep 2026 11:37:22 +0100 Subject: [PATCH] fix(search): replace unsafe unwrap on mutex locks --- server/src/search.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/server/src/search.rs b/server/src/search.rs index ccf11dd..3180134 100644 --- a/server/src/search.rs +++ b/server/src/search.rs @@ -69,7 +69,7 @@ impl MemoryIndex { type_field => "entity", namespace_field => e.namespace.clone() ); - let writer = writer.lock().unwrap(); + let writer = writer.lock().unwrap_or_else(|e| e.into_inner()); writer.add_document(doc)?; Ok(()) }) @@ -92,7 +92,7 @@ impl MemoryIndex { type_field => "task", namespace_field => "global" ); - let writer = writer.lock().unwrap(); + let writer = writer.lock().unwrap_or_else(|e| e.into_inner()); writer.add_document(doc)?; Ok(()) }) @@ -101,7 +101,7 @@ impl MemoryIndex { pub async fn commit(&self) -> tantivy::Result<()> { let writer = Arc::clone(&self.writer); tokio::task::spawn_blocking(move || { - let mut writer = writer.lock().unwrap(); + let mut writer = writer.lock().unwrap_or_else(|e| e.into_inner()); writer.commit()?; Ok(()) }) @@ -184,7 +184,7 @@ impl MemoryIndex { type_field => "snippet", namespace_field => "global" ); - let writer = writer.lock().unwrap(); + let writer = writer.lock().unwrap_or_else(|e| e.into_inner()); writer.add_document(doc)?; Ok(()) }) @@ -207,7 +207,7 @@ impl MemoryIndex { type_field => "adr", namespace_field => "global" ); - let writer = writer.lock().unwrap(); + let writer = writer.lock().unwrap_or_else(|e| e.into_inner()); writer.add_document(doc)?; Ok(()) }) @@ -228,7 +228,7 @@ impl MemoryIndex { let namespace_field = self.namespace_field; tokio::task::spawn_blocking(move || { - let writer = writer.lock().unwrap(); + let writer = writer.lock().unwrap_or_else(|e| e.into_inner()); for e in entities { writer.add_document(doc!(