blob: c373f32c7a92773d661ad68bac660096c6b17481 (
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
31
32
33
34
35
36
37
38
39
|
/**
* Tests that capped deletes occur during rollback on documents inserted earlier in rollback.
*
* @tags: [
* requires_replication,
* ]
*/
(function() {
'use strict';
load('jstests/replsets/libs/rollback_test.js');
const rollbackTest = new RollbackTest(jsTestName());
const testDB = function() {
return rollbackTest.getPrimary().getDB('test');
};
const coll = function() {
return testDB().getCollection(jsTestName());
};
assert.commandWorked(
testDB().createCollection(coll().getName(), {capped: true, size: 100, max: 1}));
assert.commandWorked(coll().insert({a: 1}));
rollbackTest.transitionToRollbackOperations();
rollbackTest.transitionToSyncSourceOperationsBeforeRollback();
assert.commandWorked(coll().insert([{b: 1}, {b: 2}]));
rollbackTest.transitionToSyncSourceOperationsDuringRollback();
rollbackTest.transitionToSteadyStateOperations();
// Stopping the test fixture runs validate with {enforceFastCount: true}. This will cause collection
// validation to fail if rollback did not perform capped deletes on documents that were inserted
// earlier in rollback.
rollbackTest.stop();
})();
|