|
The objective of this task may be satisfied by establishing a small set of rollback tests to begin rollback at each of the starting points enumerated in the table under Rollback Logic in the design doc (reproduced below). The detailed rollback handling in the table is for informational purposes only and is out of scope for this ticket.
Resumable Index Phases:
- A: Prior to index build starting
- B: During index build phase 1 (collection scan and inserting into sorter(s))
- C: During index build phase 2 (bulk load of index table(s))
- D: During index build phase 3 (catch up from side table(s))
- E: After index build completes.
Ends →
Starts ↓ |
A |
B-D |
E |
| A |
Nothing to do. |
|
|
| B |
Save, but then delete saved data. |
Save/restore like in shutdown. |
|
| C |
Save, but then delete saved data. |
Save/restore like in shutdown. |
|
| D |
Save, but then delete saved data. |
Save/restore like in shutdown 3rd phase. |
|
| E |
Nothing (new) to do. |
Start index build from scratch. |
Nothing to do. |
This is a necessary prerequisite for SERVER-48419, which implements the rollback logic in the previous table, and may be non-trivial due to how the majority read cursor changes in SERVER-48476 affect how our rollback tests works.
|