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. 1.Check replica set status:
  2. 2.```javascript
  3. 3.rs.status()
  4. 4.rs.printSecondaryReplicationInfo()
  5. 5.`
  6. 6.Verify oplog sufficiency:
  7. 7.```javascript
  8. 8.use local
  9. 9.db.oplog.rs.stats().maxSize
  10. 10.db.oplog.rs.find().sort({$natural: -1}).limit(1)

// Calculate window rs.printReplicationInfo() ```

  1. 1.Resync a lagging member:
  2. 2.```javascript
  3. 3.// On secondary
  4. 4.rs.stop()
  5. 5.# Delete data directory
  6. 6.rm -rf /var/lib/mongodb/*
  7. 7.rs.start()
  8. 8.`