STORAGE_UNAVAILABLE — storage could not serve the request in time
cyoda-go version 0.8.4
errors.STORAGE_UNAVAILABLE
Section titled “errors.STORAGE_UNAVAILABLE”STORAGE_UNAVAILABLE — the storage layer could not supply a connection, or the transaction the request was running in is gone.
SYNOPSIS
Section titled “SYNOPSIS”HTTP: 503 Service Unavailable. Retryable: yes.
DESCRIPTION
Section titled “DESCRIPTION”Raised in three cases, all transient:
- The connection pool could not supply a connection within
CYODA_POSTGRES_ACQUIRE_TIMEOUT(default10s). Writes, and reads that need a second connection while your transaction already holds one (a point-in-time read or an async-search submit issued inside a transaction), fail fast here rather than queueing behind a saturated pool. - An operation found its transaction already aborted because the connection sat idle inside it for longer than
CYODA_POSTGRES_IDLE_IN_TX_TIMEOUT(default5m). The usual cause is a workflow processor whoseresponseTimeoutMsexceeds that ceiling. - The database connection went away underneath the operation — the session was terminated, or the network dropped it.
Retryable. The same request may well succeed on a second attempt. Repeated occurrences mean the pool is undersized for the offered load, a workflow holds transactions open across a callout longer than the ceiling allows, or the link to the database is unstable.
A statement cancelled by CYODA_POSTGRES_STATEMENT_TIMEOUT is not reported here. Re-running it would exceed the same ceiling again, so it is a 500 with a ticket rather than a retryable 503; the server log names the setting that fired.
See cyoda help config database for the pool and ceiling settings.
SEE ALSO
Section titled “SEE ALSO”- errors
- errors.CONFLICT
- config.database
See also
Section titled “See also”cyoda help errors— Every error response from the Cyoda REST API carries a structurederrorCodein thepropertiesobject. Multiple codes may share the same HTTP status. Programmatic handling keys onerrorCode, not HTTP status.cyoda help errors CONFLICT— The server detected that the entity was modified by another writer between the time it was read and the time the current write was committed. Normal outcome under concurrent load.cyoda help config database— config.database — storage backend selection and per-backend connection settings.
Raw formats
Section titled “Raw formats”/help/errors/storage_unavailable.json— full descriptor (matchesGET /help/{topic}envelope)/help/errors/storage_unavailable.md— body only