Rejecting

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

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