MongoDB Replica Set Elections and PRIMARY Loss: Stability Triage
Evaluates member health, votes, and oplog status during repeated elections while safely diagnosing network/disk faults and avoiding split-brain risks.
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
Kısa aralıklarla PRIMARY değişir, uygulama `NotWritablePrimary`, server selection timeout veya kısa yazma kesintileri yaşar. M58 üye durumları/eski primary kaybını işaret eder.
2. Business & Technical Impact
Yazma erişimi kısa süreli veya quorum yoksa kalıcı olarak kesilir. `w:1` ile yazılmış ama çoğunluğa ulaşmamış kayıtların rollback riski vardır.
3. Diagnosis & Root-Cause Analysis
const st = rs.status();
st.members.map(m => ({ name: m.name, state: m.stateStr, health: m.health,
optimeDate: m.optimeDate, lastHeartbeatMessage: m.lastHeartbeatMessage }));
rs.conf().members.map(m => ({ host: m.host, votes: m.votes, priority: m.priority,
hidden: m.hidden, arbiterOnly: m.arbiterOnly }));4. Remediation & Action Plan
5. Verification & Health Checks
Bir PRIMARY, beklenen SECONDARY'ler var; quorum sabit, heartbeat hataları ve sık seçimler durdu, replika gecikmeleri düşük; uygulama yazmaları kendi write concern düzeyinde başarıyla tamamlanıyor.
6. Rollback & Contingency Plan
Bakım sırasında değişen uygulama URI/altyapı ayarlarını eski doğrulanmış duruma döndürün. Gerçekleşmiş seçim geri alınmaz; rollback olup olmadığını üye logları ve veri tutarlılığıyla inceleyin.