InternalError
Andromeda answers 500 with the problem type https://uri.etsi.org/ngsi-ld/errors/InternalError. The broker failed, and changing your request won't fix it. The detail is a short summary such as internal registration error, and the real cause goes to the broker's log for its operator. Andromeda never blames your request for one of its own failures. The specification defines this type and binds it to 500.
A failure worth waiting out, such as a database that can't be reached, is a ServiceUnavailable with a 503 instead, so a client can base its retry policy on the type as well as the status.
When this comes back
- The request ran past
request_limits.timeout(30 seconds by default) and was abandoned. - A tenant failed its schema contract after an upgrade, and every request to it is refused until the broker restarts. The log line starts with
tenant schema contract:. See Upgrades and Troubleshooting. - A Snapshot is quarantined, because its stored branch didn't upgrade to this broker's schema. Read
snapshot_preparation.branch_upgrade_errorfor that Snapshot. See Upgrades. - A connection setting is one the driver can't use at all. That is a deployment mistake, not an outage.
Example
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
{
"type": "https://uri.etsi.org/ngsi-ld/errors/InternalError",
"title": "Internal error",
"status": 500,
"detail": "internal registration error"
}