|
Oplog slots can be reserved for inserts prior to taking an exclusive lock on the metadata resource.
This can generate the following ordering on the primary
| Insert 1 |
Insert 2 |
| Reserve oplog slot with TS(1) |
|
| |
Reserve oplog slot with TS(2) |
| |
X-lock resource |
| |
Insert document with RID(1) |
| X-lock resource |
|
| Insert document with RID(2) |
|
On the secondary, we apply oplog entries serially for non-clustered capped collections. So we would apply oplog entry TS(1) with RID(1) and oplog entry TS(2) with RID(2) as record IDs are not globally unique. This results in a different natural order between the primary and secondaries, which we guarantee for capped collections.
The same might be possible for updates and deletes.
|