15.000 Prozesse im Lock-Convoy: Wie ein GIN-Index unsere Postgres-Datenbank lahmlegte

Postgres locks do not scale

15.000 Prozesse im Lock-Convoy: Wie ein GIN-Index unsere Postgres-Datenbank lahmlegte

Bei Recall.ai kam es zu einem schwerwiegenden Datenbankausfall: Die CPU-Last der Postgres-Instanz schoss auf 100%, ohne erkennbaren Grund. Die Ursache war ein Lock-Convoy auf einem GIN-Index, ausgelöst durch synchronisierte Schreibvorgänge tausender Bots. Der Artikel analysiert die technischen Details, wie WaitLatch, CheckDeadlock und die Besonderheiten von GIN-Indizes, und zeigt, wie das Team das Problem löste und welche Lehren es daraus zog.

Selbst kleine Operationen können, wenn sie synchronisiert und in großem Maßstab ausgeführt werden, katastrophale Folgen haben.

Mehr von diesem Tag

2026-07-10