Introduction
Replication issues in MongoDB can cause data inconsistency and availability problems. This guide covers diagnosing and fixing replica set synchronization.
Symptoms
- Secondary lag in rs.status()
- Reads from secondaries return stale data
- Member state showing RECOVERING or DOWN
- Initial sync failing to complete
Step-by-Step Fix
- 1.Check replica set status:
- 2.```javascript
- 3.rs.status()
- 4.rs.printSecondaryReplicationInfo()
- 5.
` - 6.Verify oplog sufficiency:
- 7.```javascript
- 8.use local
- 9.db.oplog.rs.stats().maxSize
- 10.db.oplog.rs.find().sort({$natural: -1}).limit(1)
// Calculate window rs.printReplicationInfo() ```
- 1.Resync a lagging member:
- 2.```javascript
- 3.// On secondary
- 4.rs.stop()
- 5.# Delete data directory
- 6.rm -rf /var/lib/mongodb/*
- 7.rs.start()
- 8.
`