Errors
502 - engine unreachable
What happened
The service could not reach the database engine. This may be temporary, but it does not establish whether an earlier write completed.
- Check instance statusLook for a readiness or temporary connection problem.
- Back off on readsRetry a read within a bounded policy.
- Reconcile uncertain writesCheck whether a write landed before attempting it again.
- Escalate if it persistsKeep the error details for investigation.
Request that triggers it
Any request that lands in that window - a restart, a deploy, or a writer changeover.
curl -X POST "https://$OC_HOST/v1/tenants/$OC_TENANT/sql" \
-H "Authorization: Bearer $OC_TOKEN" \
-H "Content-Type: application/json" \
-d '{"sql": "SELECT id FROM shop.products LIMIT 1"}'Read the response
{
"error": "engine_unreachable",
"message": "control plane could not reach the engine for this tenant",
"retry": true,
"trace_id": "5f4e3d2c-1b0a-9988-7766-554433221100",
"status_page": "https://status.originchain.ai"
}Fix the request
- Check instance and service status.
- Retry reads with bounded backoff.
- Reconcile uncertain writes before resubmitting.
- Contact support with the trace ID if connectivity does not recover.
Keep in mind: Keep retries bounded. Do not change production topology simply because one request failed.
Common causes
- A writer changeover in an active-passive pair - a standby takes over as writer. Promotion is operator-driven by default; the engine also has an opt-in automatic promotion path, off by default, which depends on an external restart hook and refuses to promote a standby that is not fully caught up.
- Planned restart for a config change.
- A transient network blip inside the service.
- Engine briefly unresponsive during a heavy compaction.
- A rolling deploy of the engine binary.
Continue
See error handling and retries, or return to error examples.