blob: da786c7e1a49e92680e6c3ef7f207beeaf539b91 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
/**
* Test that an index build aborted due to rollback restarts correctly, even if the none of the
* associated oplog entries are rolled-back.
*/
(function() {
"use strict";
// For RollbackIndexBuildsTest
load('jstests/replsets/libs/rollback_index_builds_test.js');
const rollbackIndexTest = new RollbackIndexBuildsTest();
const schedule = [
// Start an index build.
"start",
// Hold the stable timestamp, if applicable. This will prevent the startIndexBuild oplog entry
// from being rolled-back.
"holdStableTimestamp",
// This aborts the active index build.
"transitionToRollback",
// Allow the new primary to take over, and let the rolled-back primary restart its index build.
"transitionToSteadyState",
// If failover is supported, the new index build will already commit on the new primary. Allow
// the old primary to finish.
"commit",
];
rollbackIndexTest.runSchedules([schedule]);
rollbackIndexTest.stop();
})();
|