1010import torch
1111from config import load_config
1212from langchain_core .documents .base import Document
13- from utils .exceptions .embeddings import EmbeddingError
14- from utils .exceptions .vectordb import VDBError
13+ from utils .exceptions .base import OpenRAGError
14+ from utils .exceptions .common import UnexpectedError
1515
1616from .chunker import BaseChunker , ChunkerFactory
1717from .utils import serialize_file
@@ -121,25 +121,8 @@ async def add_file(
121121 # Mark task as completed
122122 await task_state_manager .set_state .remote (task_id , "COMPLETED" )
123123
124- except OSError as e :
125- # File I/O errors (FileNotFoundError, PermissionError, etc.)
126- log .error ("File operation failed" , path = path , error = str (e ))
127- tb = "" .join (traceback .format_exception (type (e ), e , e .__traceback__ ))
128- await task_state_manager .set_state .remote (task_id , "FAILED" )
129- await task_state_manager .set_error .remote (task_id , tb )
130- raise
131-
132- except VDBError as e :
133- # Database errors (already typed from vectordb)
134- log .error ("Database operation failed" , error = str (e ))
135- tb = "" .join (traceback .format_exception (type (e ), e , e .__traceback__ ))
136- await task_state_manager .set_state .remote (task_id , "FAILED" )
137- await task_state_manager .set_error .remote (task_id , tb )
138- raise
139-
140- except EmbeddingError as e :
141- # Embedding errors (already typed from embeddings)
142- log .error ("Embedding generation failed" , error = str (e ))
124+ except OpenRAGError as e :
125+ log .error ("Operation failed during file ingestion" , code = e .code , error = e .message )
143126 tb = "" .join (traceback .format_exception (type (e ), e , e .__traceback__ ))
144127 await task_state_manager .set_state .remote (task_id , "FAILED" )
145128 await task_state_manager .set_error .remote (task_id , tb )
@@ -151,7 +134,7 @@ async def add_file(
151134 tb = "" .join (traceback .format_exception (type (e ), e , e .__traceback__ ))
152135 await task_state_manager .set_state .remote (task_id , "FAILED" )
153136 await task_state_manager .set_error .remote (task_id , tb )
154- raise RuntimeError ("An unexpected error occurred during file processing" )
137+ raise UnexpectedError ("An unexpected error occurred during file processing" ) from e
155138
156139 finally :
157140 # GPU cleanup
@@ -185,15 +168,12 @@ async def delete_file(self, file_id: str, partition: str) -> bool:
185168 await vectordb .delete_file .remote (file_id , partition )
186169 log .info ("Deleted file from partition." , file_id = file_id , partition = partition )
187170
188- except VDBError as e :
189- # Database errors (already typed from vectordb)
190- log .error ("Database operation failed in delete_file" , error = str (e ))
171+ except OpenRAGError :
191172 raise
192173
193174 except Exception as e :
194- # Unexpected errors
195175 log .exception ("Unexpected error in delete_file" )
196- raise RuntimeError ("An unexpected error occurred during file deletion" )
176+ raise UnexpectedError ("An unexpected error occurred during file deletion" ) from e
197177
198178 @ray .method (concurrency_group = "update" )
199179 async def update_file_metadata (
@@ -219,15 +199,12 @@ async def update_file_metadata(
219199
220200 log .info ("Metadata updated for file." )
221201
222- except VDBError as e :
223- # Database errors (already typed from vectordb)
224- log .error ("Database operation failed in update_file_metadata" , error = str (e ))
202+ except OpenRAGError :
225203 raise
226204
227205 except Exception as e :
228- # Unexpected errors
229206 log .exception ("Unexpected error in update_file_metadata" )
230- raise RuntimeError ("An unexpected error occurred during metadata update" )
207+ raise UnexpectedError ("An unexpected error occurred during metadata update" ) from e
231208
232209 @ray .method (concurrency_group = "update" )
233210 async def copy_file (
@@ -258,15 +235,12 @@ async def copy_file(
258235 new_partition = metadata .get ("partition" ),
259236 )
260237
261- except VDBError as e :
262- # Database errors (already typed from vectordb)
263- log .error ("Database operation failed in copy_file" , error = str (e ))
238+ except OpenRAGError :
264239 raise
265240
266241 except Exception as e :
267- # Unexpected errors
268242 log .exception ("Unexpected error in copy_file" )
269- raise RuntimeError ("An unexpected error occurred during file copy" )
243+ raise UnexpectedError ("An unexpected error occurred during file copy" ) from e
270244
271245 @ray .method (concurrency_group = "search" )
272246 async def asearch (
0 commit comments