feat: Add transition state validation (#3509)

This commit is contained in:
Matthew Zhou
2025-07-23 14:08:41 -07:00
committed by GitHub
parent cc431b2e97
commit 1a4aeb5f9f
6 changed files with 576 additions and 27 deletions

View File

@@ -404,9 +404,15 @@ async def get_file_metadata(
file_status = file_metadata.processing_status
else:
file_status = FileProcessingStatus.COMPLETED
file_metadata = await server.file_manager.update_file_status(
file_id=file_metadata.id, actor=actor, chunks_embedded=len(ids), processing_status=file_status
)
try:
file_metadata = await server.file_manager.update_file_status(
file_id=file_metadata.id, actor=actor, chunks_embedded=len(ids), processing_status=file_status
)
except ValueError as e:
# state transition was blocked - this is a race condition
# log it but don't fail the request since we're just reading metadata
logger.warning(f"Race condition detected in get_file_metadata: {str(e)}")
# return the current file state without updating
return file_metadata