fix(search): replace unsafe unwrap on mutex locks
This commit is contained in:
1 parent
8afbf97b11
commit
73ab5037d8
1 file changed
+6
-6
@@ -69,7 +69,7 @@ impl MemoryIndex {
|
|||||||
type_field => "entity",
|
type_field => "entity",
|
||||||
namespace_field => e.namespace.clone()
|
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)?;
|
writer.add_document(doc)?;
|
||||||
Ok(())
|
Ok(())
|
||||||
})
|
})
|
||||||
@@ -92,7 +92,7 @@ impl MemoryIndex {
|
|||||||
type_field => "task",
|
type_field => "task",
|
||||||
namespace_field => "global"
|
namespace_field => "global"
|
||||||
);
|
);
|
||||||
let writer = writer.lock().unwrap();
|
let writer = writer.lock().unwrap_or_else(|e| e.into_inner());
|
||||||
writer.add_document(doc)?;
|
writer.add_document(doc)?;
|
||||||
Ok(())
|
Ok(())
|
||||||
})
|
})
|
||||||
@@ -101,7 +101,7 @@ impl MemoryIndex {
|
|||||||
pub async fn commit(&self) -> tantivy::Result<()> {
|
pub async fn commit(&self) -> tantivy::Result<()> {
|
||||||
let writer = Arc::clone(&self.writer);
|
let writer = Arc::clone(&self.writer);
|
||||||
tokio::task::spawn_blocking(move || {
|
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()?;
|
writer.commit()?;
|
||||||
Ok(())
|
Ok(())
|
||||||
})
|
})
|
||||||
@@ -184,7 +184,7 @@ impl MemoryIndex {
|
|||||||
type_field => "snippet",
|
type_field => "snippet",
|
||||||
namespace_field => "global"
|
namespace_field => "global"
|
||||||
);
|
);
|
||||||
let writer = writer.lock().unwrap();
|
let writer = writer.lock().unwrap_or_else(|e| e.into_inner());
|
||||||
writer.add_document(doc)?;
|
writer.add_document(doc)?;
|
||||||
Ok(())
|
Ok(())
|
||||||
})
|
})
|
||||||
@@ -207,7 +207,7 @@ impl MemoryIndex {
|
|||||||
type_field => "adr",
|
type_field => "adr",
|
||||||
namespace_field => "global"
|
namespace_field => "global"
|
||||||
);
|
);
|
||||||
let writer = writer.lock().unwrap();
|
let writer = writer.lock().unwrap_or_else(|e| e.into_inner());
|
||||||
writer.add_document(doc)?;
|
writer.add_document(doc)?;
|
||||||
Ok(())
|
Ok(())
|
||||||
})
|
})
|
||||||
@@ -228,7 +228,7 @@ impl MemoryIndex {
|
|||||||
let namespace_field = self.namespace_field;
|
let namespace_field = self.namespace_field;
|
||||||
|
|
||||||
tokio::task::spawn_blocking(move || {
|
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 {
|
for e in entities {
|
||||||
writer.add_document(doc!(
|
writer.add_document(doc!(
|
||||||
|
|||||||
Reference in new issue
Block a user