Reputation: 890
Let's assume a secondary is fallen behind because of server crash that was not restarted within a given time. Now we have a lag of 100h but an oplog of 10h like this
db.printSlaveReplicationInfo()
source: db3
syncedTo: TIMEINTHEPAST
360000 secs (100.00 hrs) behind the primary
source: db1
syncedTo: NOW
1 secs (0 hrs) behind the primary
But then the oplog is much smaller
db.printReplicationInfo()
configured oplog size: GIVENSIZE
log length start to end: 36000secs (10hrs)
Do I assume correctly that this secondary has no chance of catching up (RECOVERING)?
How is this situation to be resolved?
Upvotes: 0
Views: 888
Reputation: 1580
Answer is simple. Secondary cannot survive. In that situation you have few different possibilities to "re-initialize" that node.
OR
After you have again working replica set, resize your oplog size to much bigger. Like 15 times bigger.
Upvotes: 3