fix: fixes vector index lock for vector collection creation
This commit is contained in:
parent
cd930ed646
commit
f2e66bc276
1 changed files with 6 additions and 3 deletions
|
|
@ -1,9 +1,11 @@
|
||||||
|
import asyncio
|
||||||
from cognee.shared.logging_utils import get_logger
|
from cognee.shared.logging_utils import get_logger
|
||||||
|
|
||||||
from cognee.infrastructure.databases.exceptions.EmbeddingException import EmbeddingException
|
from cognee.infrastructure.databases.exceptions.EmbeddingException import EmbeddingException
|
||||||
from cognee.infrastructure.databases.vector import get_vector_engine
|
from cognee.infrastructure.databases.vector import get_vector_engine
|
||||||
from cognee.infrastructure.engine import DataPoint
|
from cognee.infrastructure.engine import DataPoint
|
||||||
|
|
||||||
|
vector_index_lock = asyncio.Lock()
|
||||||
logger = get_logger("index_data_points")
|
logger = get_logger("index_data_points")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -22,9 +24,10 @@ async def index_data_points(data_points: list[DataPoint]):
|
||||||
|
|
||||||
index_name = f"{data_point_type.__name__}_{field_name}"
|
index_name = f"{data_point_type.__name__}_{field_name}"
|
||||||
|
|
||||||
if index_name not in created_indexes:
|
async with vector_index_lock:
|
||||||
await vector_engine.create_vector_index(data_point_type.__name__, field_name)
|
if index_name not in created_indexes:
|
||||||
created_indexes[index_name] = True
|
await vector_engine.create_vector_index(data_point_type.__name__, field_name)
|
||||||
|
created_indexes[index_name] = True
|
||||||
|
|
||||||
if index_name not in index_points:
|
if index_name not in index_points:
|
||||||
index_points[index_name] = []
|
index_points[index_name] = []
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue