Skip to main content

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_error for 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"
}