Cannot find oplog entry

syncreplica –export can fail with a warning message about missing oplog entries.

For example:
Can not find oplog from replica replica-name with id oplog-ID

Gap in oplog entries may indicate missing oplog entries

(For more information about oplog entries, see The operation log and Scrubbing parameters for replicas.)

This error occurs when the sending replica’s epoch number matrix does not match its set of oplog entries. For example:
  • Before sending an update from sydney to buenosaires, syncreplica checks the epoch number matrix for sydney. It determines that the last sydney operation sent to buenosaires was 3620.
  • syncreplica finds that oplog scrubbing in the sydney database has removed some of the operations that follow 3620. The earliest sydney operation remaining in the oplog is 5755.

This discrepancy may be an expected condition. For example, when you change the synchronization pattern for a family, replicas that have not communicated with each other in the past start exchanging update packets. Synchronizing two replicas (syncreplica –export followed by syncreplica –import) updates epoch number matrix rows for the sending and receiving replicas, but it does not revise the row for any other replica. If two replicas rarely (or never) send updates to each other directly, the relevant rows in their epoch number matrices are out of date (possibly consisting of all zeros). This is not a problem, as long as the replicas receive operations indirectly, for example, through a hub replica.

In this case, you must inform sydney about the true state of buenosaires, information that is not reflected in sydney’s epoch number matrix. This information enables sydney to determine which oplog entries must be sent to buenosaires.

If the sites have an IP connection, use the procedure in chepoch –actual method. Otherwise, use the procedure in lsepoch and chepoch method.