Down

Disk full: when databases and logs run out of space

A full disk does not crash a database the way memory does — it quietly stops it from writing. Reads keep working, which makes the failure easy to miss until users complain.

What causes it

Every write adds data: rows, indexes, write-ahead logs, messages kept for retention. If data arrives faster than it is deleted or archived, the disk fills at a predictable rate. PostgreSQL and MySQL refuse writes, Elasticsearch marks indices read-only at its flood-stage watermark, and Kafka brokers stop accepting producers.

How to recognise it

The math

Time until full = free space ÷ (write rate × bytes per write)

Error messages you will see

ErrorSeen in
No space left on deviceUsers, Router, Server, Database, Cache, Queue and 195 more
ERROR: could not extend file: No space left on devicePostgreSQL, CockroachDB, Amazon RDS (PostgreSQL), Amazon Aurora (PostgreSQL), Cloud SQL (PostgreSQL), AlloyDB for PostgreSQL (PostgreSQL) and 5 more
ERROR 1114 (HY000): The table is fullMySQL, MariaDB, Vitess, Amazon RDS (MySQL), Amazon RDS (MariaDB), Amazon Aurora (MySQL) and 3 more

How to fix it

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.

Open the simulator

Learn more

Part of the guide Message queues vs event streams.

Related failure modes