From f17ca26b10f6cf0d754fc82d57035496fc87d205 Mon Sep 17 00:00:00 2001 From: Yongtao Huang Date: Wed, 30 Jul 2025 10:34:24 +0800 Subject: [PATCH] Fix: add missing db.session.close() to ensure proper session cleanup (#23122) --- api/tasks/add_document_to_index_task.py | 2 ++ api/tasks/create_segment_to_index_task.py | 1 + api/tasks/document_indexing_sync_task.py | 2 ++ 3 files changed, 5 insertions(+) diff --git a/api/tasks/add_document_to_index_task.py b/api/tasks/add_document_to_index_task.py index a2105f8a9..c5ee4ce3f 100644 --- a/api/tasks/add_document_to_index_task.py +++ b/api/tasks/add_document_to_index_task.py @@ -32,6 +32,7 @@ def add_document_to_index_task(dataset_document_id: str): return if dataset_document.indexing_status != "completed": + db.session.close() return indexing_cache_key = f"document_{dataset_document.id}_indexing" @@ -112,3 +113,4 @@ def add_document_to_index_task(dataset_document_id: str): db.session.commit() finally: redis_client.delete(indexing_cache_key) + db.session.close() diff --git a/api/tasks/create_segment_to_index_task.py b/api/tasks/create_segment_to_index_task.py index a8839ffc1..543a51285 100644 --- a/api/tasks/create_segment_to_index_task.py +++ b/api/tasks/create_segment_to_index_task.py @@ -31,6 +31,7 @@ def create_segment_to_index_task(segment_id: str, keywords: Optional[list[str]] return if segment.status != "waiting": + db.session.close() return indexing_cache_key = f"segment_{segment.id}_indexing" diff --git a/api/tasks/document_indexing_sync_task.py b/api/tasks/document_indexing_sync_task.py index 56f330b96..993b2ac40 100644 --- a/api/tasks/document_indexing_sync_task.py +++ b/api/tasks/document_indexing_sync_task.py @@ -113,3 +113,5 @@ def document_indexing_sync_task(dataset_id: str, document_id: str): logging.info(click.style(str(ex), fg="yellow")) except Exception: logging.exception("document_indexing_sync_task failed, document_id: %s", document_id) + finally: + db.session.close()