-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
Fully Compatible
-
ALL
-
v4.2
-
-
STM 2019-06-03, Repl 2019-06-17, Repl 2019-07-01
When starting initial sync, we reset the node's lastAppliedOptime. However, we do not reset the oldest timestamp. This can be a problem if we fail an initial sync attempt, because when we try to write to the oplog, we can trigger this WT assertion that the commit timestamp of a storage transaction should not be before the oldest timestamp. Since the oldest timestamp was not reset after the attempt failed and the first oplog entry to apply during initial sync is a prepare oplog entry, the timestamp to write the oplog entry is incorrectly before the oldest timestamp.