Skip to content

Commit e22ac52

Browse files
committed
Auto-initialize pipeline status in LightRAG.initialize_storages()
• Remove manual initialize_pipeline_status calls • Auto-init in initialize_storages method • Update error messages for clarity • Warn on workspace conflicts
1 parent e8383df commit e22ac52

File tree

3 files changed

+24
-16
lines changed

3 files changed

+24
-16
lines changed

lightrag/api/lightrag_server.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@
5858
get_namespace_data,
5959
get_default_workspace,
6060
# set_default_workspace,
61-
initialize_pipeline_status,
6261
cleanup_keyed_lock,
6362
finalize_share_data,
6463
)
@@ -352,9 +351,8 @@ async def lifespan(app: FastAPI):
352351

353352
try:
354353
# Initialize database connections
355-
# set_default_workspace(rag.workspace) # comment this line to test auto default workspace setting in initialize_storages
354+
# Note: initialize_storages() now auto-initializes pipeline_status for rag.workspace
356355
await rag.initialize_storages()
357-
await initialize_pipeline_status() # with default workspace
358356

359357
# Data migration regardless of storage implementation
360358
await rag.check_and_migrate_data()

lightrag/exceptions.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,7 @@ def __init__(self, storage_type: str = "Storage"):
6868
f"{storage_type} not initialized. Please ensure proper initialization:\n"
6969
f"\n"
7070
f" rag = LightRAG(...)\n"
71-
f" await rag.initialize_storages() # Required\n"
72-
f" \n"
73-
f" from lightrag.kg.shared_storage import initialize_pipeline_status\n"
74-
f" await initialize_pipeline_status() # Required for pipeline operations\n"
71+
f" await rag.initialize_storages() # Required - auto-initializes pipeline_status\n"
7572
f"\n"
7673
f"See: https://github.com/HKUDS/LightRAG#important-initialization-requirements"
7774
)
@@ -82,18 +79,21 @@ class PipelineNotInitializedError(KeyError):
8279

8380
def __init__(self, namespace: str = ""):
8481
msg = (
85-
f"Pipeline namespace '{namespace}' not found. "
86-
f"This usually means pipeline status was not initialized.\n"
82+
f"Pipeline namespace '{namespace}' not found.\n"
8783
f"\n"
88-
f"Please call 'await initialize_pipeline_status()' after initializing storages:\n"
84+
f"Pipeline status should be auto-initialized by initialize_storages().\n"
85+
f"If you see this error, please ensure:\n"
8986
f"\n"
90-
f" from lightrag.kg.shared_storage import initialize_pipeline_status\n"
91-
f" await initialize_pipeline_status()\n"
87+
f" 1. You called await rag.initialize_storages()\n"
88+
f" 2. For multi-workspace setups, each LightRAG instance was properly initialized\n"
9289
f"\n"
93-
f"Full initialization sequence:\n"
94-
f" rag = LightRAG(...)\n"
95-
f" await rag.initialize_storages()\n"
96-
f" await initialize_pipeline_status()"
90+
f"Standard initialization:\n"
91+
f" rag = LightRAG(workspace='your_workspace')\n"
92+
f" await rag.initialize_storages() # Auto-initializes pipeline_status\n"
93+
f"\n"
94+
f"If you need manual control (advanced):\n"
95+
f" from lightrag.kg.shared_storage import initialize_pipeline_status\n"
96+
f" await initialize_pipeline_status(workspace='your_workspace')"
9797
)
9898
super().__init__(msg)
9999

lightrag/lightrag.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,16 @@ async def initialize_storages(self):
664664
default_workspace = get_default_workspace()
665665
if default_workspace is None:
666666
set_default_workspace(self.workspace)
667+
elif default_workspace != self.workspace:
668+
logger.warning(
669+
f"Creating LightRAG instance with workspace='{self.workspace}' "
670+
f"but default workspace is already set to '{default_workspace}'."
671+
)
672+
673+
# Auto-initialize pipeline_status for this workspace
674+
from lightrag.kg.shared_storage import initialize_pipeline_status
675+
676+
await initialize_pipeline_status(workspace=self.workspace)
667677

668678
for storage in (
669679
self.full_docs,

0 commit comments

Comments
 (0)