mongo/jstests/replsets/rollback_index_build_and_cr...

28 lines
973 B
JavaScript

/**
* Test that rolling back an index build and collection creation behaves correctly.
* @tags: [
* # We don't need to handle rollbacks in primary-driven index builds.
* primary_driven_index_builds_incompatible,
* ]
*/
import {RollbackIndexBuildsTest} from "jstests/replsets/libs/rollback_index_builds_test.js";
const rollbackIndexTest = new RollbackIndexBuildsTest([ErrorCodes.InterruptedDueToReplStateChange]);
const schedule = [
// Hold the stable timestamp, if applicable.
"holdStableTimestamp",
// Everything after this will be rolled-back.
"transitionToRollback",
// This creates the collection and starts the index build, so both the collection creation and
// index build will be rolled-back.
"start",
// Allow the rollback to proceed.
"transitionToSteadyState",
// Allow the index build to proceed on the rolling-back node.
"commit",
];
rollbackIndexTest.runSchedules([schedule]);
rollbackIndexTest.stop();