examples · errors · 18 / 19
18. 500 - internal server error
← Errors exampleswhat this error means
The server hit an unexpected condition. We log every 500 internally; the response body and the x-oc-trace-id response header both carry the trace id so support can find the exact request.
The body also carries a status_page URL - check there first to see if it's a known incident.
what triggers it
Any normally-valid request that surfaces a bug or unhandled internal condition.
POST /v1/tenants/:t/sql - any valid request, server side problem
curl -X POST "https://$OC_HOST/v1/tenants/$OC_TENANT/sql" \
-H "Authorization: Bearer $OC_TOKEN" \
-H "Content-Type: application/json" \
-d '{"sql": "SELECT 1"}' the canonical response body
{
"error": "internal_error",
"message": "unexpected backend error; please retry. If this persists, contact support with the trace id below.",
"retry": true,
"trace_id": "0b1c2d3e-4f50-6172-8390-a1b2c3d4e5f6",
"status_page": "https://status.originchain.ai"
} how to recover
- Check status.originchain.ai. If there's an open incident, the ETA is there.
- Retry with exponential backoff - 500s are often transient.
- If it persists, open a support ticket and include the
trace_id. With that id we can pull the exact request out of the logs in seconds. - Don't assume the write didn't happen - 500 means we don't know. Use a read or OCC retry to confirm state before re-issuing a non-idempotent write.
retry: true- with backoff.
common upstream causes
- A new bug surfaced by a recent deploy.
- Engine OOM on an unusually large query.
- Underlying storage substrate I/O error.
- A panic in an edge code path (logged, paged, fixed forward).
- Internal dependency (control plane, billing service) momentarily down.