blob: ffbe5ab8ef0e49b2932ee4d589aa5f5c69484ab8 (
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
|
/**
* Tests that the minOpTimeRecovery document will be created after a migration.
*/
(function() {
"use strict";
var st = new ShardingTest({shards: 2});
var testDB = st.s.getDB('test');
testDB.adminCommand({enableSharding: 'test'});
st.ensurePrimaryShard('test', st.shard0.shardName);
testDB.adminCommand({shardCollection: 'test.user', key: {x: 1}});
var priConn = st.configRS.getPrimary();
var replStatus = priConn.getDB('admin').runCommand({replSetGetStatus: 1});
replStatus.members.forEach(function(memberState) {
if (memberState.state == 1) { // if primary
assert.neq(null, memberState.optime);
assert.neq(null, memberState.optime.ts);
assert.neq(null, memberState.optime.t);
}
});
testDB.adminCommand({moveChunk: 'test.user', find: {x: 0}, to: st.shard1.shardName});
var shardAdmin = st.rs0.getPrimary().getDB('admin');
var minOpTimeRecoveryDoc = shardAdmin.system.version.findOne({_id: 'minOpTimeRecovery'});
assert.neq(null, minOpTimeRecoveryDoc);
assert.eq('minOpTimeRecovery', minOpTimeRecoveryDoc._id);
assert.gt(minOpTimeRecoveryDoc.minOpTime.ts.getTime(), 0);
assert.eq(0, minOpTimeRecoveryDoc.minOpTimeUpdaters);
st.stop();
})();
|