Error RS102MongoDB writes operations to an oplog. For replica sets this data is stored in collection local.oplog.rs. This is a capped collection and wraps when full "RRD"-style. Thus, it is important that the oplog collection is large enough to buffer a good amount of writes when some members of a replica set are down. If too many writes occur, the down nodes, when they resume, cannot catch up. In that case, a full resync would be required. In v1.8+, you can run db.printReplicationInfo() to see the status of the oplog on both the current primary and the overly stale member. This should show you their times, and if their logs have an overlapping time range. If the time ranges don't overlap, there is no way for the stale secondary to recover and catch up (except for a full resync). There is also a MMS graph of the oplog time length. > db.printReplicationInfo() configured oplog size: 47.6837158203125MB log length start to end: 132secs (0.04hrs) oplog first event time: Wed Apr 13 2011 02:58:08 GMT-0400 oplog last event time: Wed Apr 13 2011 03:00:20 GMT-0400 now: Wed Apr 13 2011 14:09:08 GMT-0400 Sizing the oplogThe command line --oplogSize parameter sets the oplog size. A good rule of thumb is 5 to 10% of total disk space. On 64 bit builds, the default is large and similar to this percentage. You can check your existing oplog sizes from the mongo shell : > use local > db.oplog.rs.stats() What to do on a RS102 sync errorIf one of your members has been offline and is now too far behind to catch up, you will need to resync. There are a number of ways to do this.
or
or
See Also |

PLEASE POST QUESTIONS IN THE USER GROUPS FORUM. Post non-question comments and helpful hints here.
blog comments powered by Disqus