From d8c530364f51483efda70728f6b716609c77d286 Mon Sep 17 00:00:00 2001 From: yangdx Date: Sat, 26 Apr 2025 00:48:30 +0800 Subject: [PATCH] Fix dead lock problem for FAISS vectory storage --- lightrag/kg/faiss_impl.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lightrag/kg/faiss_impl.py b/lightrag/kg/faiss_impl.py index c51eb1bf..faf06f81 100644 --- a/lightrag/kg/faiss_impl.py +++ b/lightrag/kg/faiss_impl.py @@ -85,7 +85,7 @@ class FaissVectorDBStorage(BaseVectorStorage): self._id_to_meta = {} self._load_faiss_index() self.storage_updated.value = False - return self._index + return self._index async def upsert(self, data: dict[str, dict[str, Any]]) -> None: """ @@ -362,11 +362,10 @@ class FaissVectorDBStorage(BaseVectorStorage): logger.warning( f"Storage for FAISS {self.namespace} was updated by another process, reloading..." ) - async with self._storage_lock: - self._index = faiss.IndexFlatIP(self._dim) - self._id_to_meta = {} - self._load_faiss_index() - self.storage_updated.value = False + self._index = faiss.IndexFlatIP(self._dim) + self._id_to_meta = {} + self._load_faiss_index() + self.storage_updated.value = False return False # Return error # Acquire lock and perform persistence