Merge pull request #1465 from danielaskdd/main
Hot Fix: solved dead lock problem for FAISS vector storage
This commit is contained in:
@@ -85,7 +85,7 @@ class FaissVectorDBStorage(BaseVectorStorage):
|
|||||||
self._id_to_meta = {}
|
self._id_to_meta = {}
|
||||||
self._load_faiss_index()
|
self._load_faiss_index()
|
||||||
self.storage_updated.value = False
|
self.storage_updated.value = False
|
||||||
return self._index
|
return self._index
|
||||||
|
|
||||||
async def upsert(self, data: dict[str, dict[str, Any]]) -> None:
|
async def upsert(self, data: dict[str, dict[str, Any]]) -> None:
|
||||||
"""
|
"""
|
||||||
@@ -362,11 +362,10 @@ class FaissVectorDBStorage(BaseVectorStorage):
|
|||||||
logger.warning(
|
logger.warning(
|
||||||
f"Storage for FAISS {self.namespace} was updated by another process, reloading..."
|
f"Storage for FAISS {self.namespace} was updated by another process, reloading..."
|
||||||
)
|
)
|
||||||
async with self._storage_lock:
|
self._index = faiss.IndexFlatIP(self._dim)
|
||||||
self._index = faiss.IndexFlatIP(self._dim)
|
self._id_to_meta = {}
|
||||||
self._id_to_meta = {}
|
self._load_faiss_index()
|
||||||
self._load_faiss_index()
|
self.storage_updated.value = False
|
||||||
self.storage_updated.value = False
|
|
||||||
return False # Return error
|
return False # Return error
|
||||||
|
|
||||||
# Acquire lock and perform persistence
|
# Acquire lock and perform persistence
|
||||||
|
Reference in New Issue
Block a user