Incident Library

IL-0556 Storj · 2024-05-20database

A transaction left open during database maintenance stopped uploads and then downloads on Storj's US1 satellite

On 20 May 2024 a routine, manual database maintenance procedure began on the Storj US1 satellite at 14:55 UTC, and a transaction was inadvertently left open while other work went on. An open transaction holds locks on the data it touched, so other operations cannot read or change that data until it is committed or rolled back. Writes began to fail at 14:56, and as the locks stayed in place reads failed as well, disrupting the US1 service. The on-call team was paged at 14:59, closed the open transaction at 15:22, and operations were restored at 15:23. The AP1 and EU1 satellites were not affected.

Severity
–
Scope
Storj US1 satellite storage and retrieval (US1 API, Linksharing, Gateway, Select): uploads failed first, then downloads
Users affected
Customers and applications using the US1 satellite
Region
US1
Time to detect
3m
Time to resolve
27m

Symptoms

At 14:56 UTC on 20 May 2024, write operations on the Storj US1 satellite began to fail, so uploads stopped working, and downloads failed after them. The on-call team was paged at 14:59 UTC, while the AP1 and EU1 satellites kept working normally.

Symptom Lock contention or deadlockService outage

Root cause

Root cause Operator error

Component Database
Contributing factor –
Trigger
During routine, manual database maintenance on the US1 satellite that began at 14:55 UTC, a transaction was left open by mistake while other work was being done.

Detection

The on-call team received a page at 14:59 UTC, three minutes after writes started failing.

Remediation

Action items

Lessons

–

Sources

Related cases

Check your cluster for this

kubegap audits a Kubernetes cluster for conditions like the ones in this case, Database among them, read-only, from Claude Code or Codex. Its checks cite public reports like this one.

For AI tools and scripts

The API needs no key. The MCP server offers search_incidents, get_incident, list_incidents, get_topic and vocab; both are explained on API and MCP.