Merge pull request #1465 from danielaskdd/main
Hot Fix: solved dead lock problem for FAISS vector storage
This commit is contained in:
commit
2d5401d475
1 changed files with 5 additions and 6 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue