-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: 4.2.0
-
Component/s: Replication
-
Fully Compatible
-
ALL
-
v4.2
-
Repl 2019-11-04, Repl 2019-11-18
-
9
Initial sync fetches the oldest active transaction timestamp before the top of oplog. In the following case, it would miss the necessary oplog entries needed by oplog application.
- Initial sync fetches the oldest active transaction timestamp, seeing no running transaction.
- A transaction starts and gets prepared, writing the prepare command [P] into the oplog.
- The transaction commits, writing the commit command [C] into the oplog.
- Initial sync fetches the top of oplog [C].
- Initial sync starts to apply operations from [C] since there was no running transaction and fails to applies it since the needed [P] is missing.
- tested by
-
SERVER-44014 Add missing synchronization points to initial sync fuzzer
- Closed