BerriAI/litellm · error · Exception
Operation failed: {error}
Error message
Operation failed: {error} What it means
Vertex AI RAG ingestion polling result: the long-running operation finished ('done': true) but its response contains an 'error' object, meaning the ingestion/corpus operation failed server-side; the error payload is included in the message.
Source
Thrown at litellm/rag/ingestion/vertex_ai_ingestion.py:266
response = await client.get(
url,
headers={
"Authorization": f"Bearer {access_token}",
},
)
if response.status_code != 200:
error_msg = f"Failed to poll operation: {response.text}"
verbose_logger.error(error_msg)
raise Exception(error_msg)
operation_data = response.json()
if operation_data.get("done"):
# Check for errors
if "error" in operation_data:
error = operation_data["error"]
raise Exception(f"Operation failed: {error}")
# Extract corpus name from response
corpus_name = operation_data.get("response", {}).get("name", "")
if corpus_name:
return corpus_name
else:
raise Exception(f"No corpus name in operation response: {operation_data}")
verbose_logger.debug("Operation not done yet, attempt %s/%s", attempt + 1, max_retries)
await asyncio.sleep(retry_delay)
raise Exception(f"Operation timed out after {max_retries} attempts")
async def _upload_file_to_corpus(
self,
rag_corpus_id: str,
filename: str,
file_content: bytes,View on GitHub (pinned to 77b7c6c40c)
Solutions
- Inspect the operation error details and fix the underlying cause (permissions, quotas, invalid config).
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at litellm/rag/ingestion/vertex_ai_ingestion.py:266 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/d7fe045575e9bee4.
Report an issue: GitHub.