Database read-only: writes rejected after the disk fills
A database whose disk is full can still answer reads, but every write — insert, update, even some temporary files for big queries — fails.
What causes it
Data grows with every write and nothing removed it fast enough. The fix is capacity and housekeeping: bigger storage (or autoscaling storage), archiving old rows, and alerting at 80% rather than discovering it at 100%.
How to recognise it
- PostgreSQL: “could not extend file: No space left on device”
- MySQL: “ERROR 1114: The table is full”
- Only write endpoints failing
Error messages you will see
| Error | Seen in |
|---|---|
No space left on device | Users, Router, Server, Database, Cache, Queue and 195 more |
ERROR: could not extend file: No space left on device | PostgreSQL, CockroachDB, Amazon RDS (PostgreSQL), Amazon Aurora (PostgreSQL), Cloud SQL (PostgreSQL), AlloyDB for PostgreSQL (PostgreSQL) and 5 more |
ERROR 1114 (HY000): The table is full | MySQL, MariaDB, Vitess, Amazon RDS (MySQL), Amazon RDS (MariaDB), Amazon Aurora (MySQL) and 3 more |
How to fix it
- Increase storage
- Delete or archive old data
- Alert at 80% disk
Reproduce it in the simulator
Open the simulator, build a small architecture and use Fault injection in the inspector, or push traffic past a component’s capacity.
Learn more
Part of the guide Message queues vs event streams.