MongoDB Write Conflicts and Aborted Transactions: Hot Document Triage
Separates write conflict growth from transaction aborts, reduces writes to hot documents, and guides safe transaction retries.
Operational Safety & Risk Notice
This runbook contains operational intervention steps; several are write-impacting (KILL, terminate, DROP, RESIZE). Verify in a staging environment first, and apply sequentially in production with verification.
1. Symptom & Signals
M59 write conflict hızında artış; uygulamada `WriteConflict`, `TransientTransactionError`, transaction abort veya p95 yazma gecikmesi görülür. Tüm write conflict'ler kullanıcı hatasına dönüşmez; sürücü bazılarını otomatik tekrar deneyebilir.
2. Business & Technical Impact
Transaction throughput düşer, otomatik retry yükü artar; yanlış retry tasarımı çift işleme veya beklenmedik tutarsızlık doğurabilir.
3. Diagnosis & Root-Cause Analysis
const s = db.serverStatus();
({ transactions: s.transactions,
writeConflicts: s.metrics?.operation?.writeConflicts,
queues: s.globalLock?.currentQueue });Bazı sürümlerde alt alanlar farklı/eksik olabilir; dönen nesneyi inceleyin.
4. Remediation & Action Plan
5. Verification & Health Checks
M59 rate düşüyor; abort ve retry oranları baz çizgiye yakın, uygulama sonucunda yinelenen yan etki yok, p95/p99 yazma gecikmesi normal.
6. Rollback & Contingency Plan
Uygulama throttling ve retry sürümünü önceki kararlı sürüme alın. Transaction sırasında yapılmış dış yan etkiler otomatik rollback olmaz; idempotency kayıtlarıyla uzlaştırın.