Close index's heed environment when index is deleted

This commit is contained in:
many 2021-10-07 15:15:34 +02:00
parent 7fc7eb7457
commit 0774b1efa5
No known key found for this signature in database
GPG Key ID: 2CEF23B75189EACA

View File

@ -100,7 +100,9 @@ where
let index = self.index_store.create(uuid, primary_key).await?; let index = self.index_store.create(uuid, primary_key).await?;
match self.index_uuid_store.insert(uid, uuid).await { match self.index_uuid_store.insert(uid, uuid).await {
Err(e) => { Err(e) => {
let _ = self.index_store.delete(uuid).await; if let Some(index) = self.index_store.delete(uuid).await? {
index.inner().clone().prepare_for_closing();
}
Err(e) Err(e)
} }
Ok(()) => Ok(index), Ok(()) => Ok(index),
@ -126,7 +128,9 @@ where
pub async fn delete_index(&self, uid: String) -> Result<Uuid> { pub async fn delete_index(&self, uid: String) -> Result<Uuid> {
match self.index_uuid_store.delete(uid.clone()).await? { match self.index_uuid_store.delete(uid.clone()).await? {
Some(uuid) => { Some(uuid) => {
let _ = self.index_store.delete(uuid).await; if let Some(index) = self.index_store.delete(uuid).await? {
index.inner().clone().prepare_for_closing();
}
Ok(uuid) Ok(uuid)
} }
None => Err(IndexResolverError::UnexistingIndex(uid)), None => Err(IndexResolverError::UnexistingIndex(uid)),