In order for rollback/restart to work properly with resuming simultaneous index builds work in the draining phase, secondaries must start picking timestamps at which to do certain writes so that recover to a stable timestamp moves all the information backwards in concert. Note these timestamps will not be associated with a unique oplog entry.
The writes needing timestamps:
1) Index catalog entry updates, for example to track index build phases to know if the build is recoverable or must be restarted from scratch this will be done in SERVER-37645
2) Deletes from thee side table when draining & subsequent writes to the index, which occur in the same transaction with the same timestamp.
- is depended on by
-
SERVER-37952 Restart index builds from persisted recovery points
- Closed
- related to
-
SERVER-39085 move secondary oplog application logic for index creation into IndexBuildsCoordinator
- Closed
-
SERVER-44186 allow index builds to continue running on stepdown
- Closed