summaryrefslogtreecommitdiff
path: root/jstests/sharding/min_optime_recovery.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/sharding/min_optime_recovery.js')
-rw-r--r--jstests/sharding/min_optime_recovery.js124
1 files changed, 62 insertions, 62 deletions
diff --git a/jstests/sharding/min_optime_recovery.js b/jstests/sharding/min_optime_recovery.js
index b3e1b1c45cc..d77f1e2ad42 100644
--- a/jstests/sharding/min_optime_recovery.js
+++ b/jstests/sharding/min_optime_recovery.js
@@ -7,81 +7,81 @@
* @tags: [requires_persistence]
*/
(function() {
-"use strict";
+ "use strict";
-var runTest = function(withRecovery) {
- var st = new ShardingTest({ shards: 2 });
+ var runTest = function(withRecovery) {
+ var st = new ShardingTest({shards: 2});
- var testDB = st.s.getDB('test');
- testDB.adminCommand({ enableSharding: 'test' });
- st.ensurePrimaryShard('test', 'shard0000');
- testDB.adminCommand({ shardCollection: 'test.user', key: { x: 1 }});
+ var testDB = st.s.getDB('test');
+ testDB.adminCommand({enableSharding: 'test'});
+ st.ensurePrimaryShard('test', 'shard0000');
+ testDB.adminCommand({shardCollection: 'test.user', key: {x: 1}});
- var opTimeBeforeMigrate = null;
- if (st.configRS) {
- var priConn = st.configRS.getPrimary();
- var replStatus = priConn.getDB('admin').runCommand({ replSetGetStatus: 1 });
- replStatus.members.forEach(function(memberState) {
- if (memberState.state == 1) { // if primary
- opTimeBeforeMigrate = memberState.optime;
+ var opTimeBeforeMigrate = null;
+ if (st.configRS) {
+ var priConn = st.configRS.getPrimary();
+ var replStatus = priConn.getDB('admin').runCommand({replSetGetStatus: 1});
+ replStatus.members.forEach(function(memberState) {
+ if (memberState.state == 1) { // if primary
+ opTimeBeforeMigrate = memberState.optime;
- assert.neq(null, opTimeBeforeMigrate);
- assert.neq(null, opTimeBeforeMigrate.ts);
- assert.neq(null, opTimeBeforeMigrate.t);
- }
- });
- }
+ assert.neq(null, opTimeBeforeMigrate);
+ assert.neq(null, opTimeBeforeMigrate.ts);
+ assert.neq(null, opTimeBeforeMigrate.t);
+ }
+ });
+ }
- testDB.adminCommand({ moveChunk: 'test.user', find: { x: 0 }, to: 'shard0001' });
+ testDB.adminCommand({moveChunk: 'test.user', find: {x: 0}, to: 'shard0001'});
- var shardAdmin = st.d0.getDB('admin');
- var doc = shardAdmin.system.version.findOne();
+ var shardAdmin = st.d0.getDB('admin');
+ var doc = shardAdmin.system.version.findOne();
- if (st.configRS) {
- assert.neq(null, doc);
- assert.eq('minOpTimeRecovery', doc._id);
- assert.eq(st.configRS.getURL(), doc.configsvrConnectionString);
- assert.eq('shard0000', doc.shardName);
- assert.gt(doc.minOpTime.ts.getTime(), 0);
- }
- else {
- assert.eq(null, doc);
- }
+ if (st.configRS) {
+ assert.neq(null, doc);
+ assert.eq('minOpTimeRecovery', doc._id);
+ assert.eq(st.configRS.getURL(), doc.configsvrConnectionString);
+ assert.eq('shard0000', doc.shardName);
+ assert.gt(doc.minOpTime.ts.getTime(), 0);
+ } else {
+ assert.eq(null, doc);
+ }
- var restartCmdLineOptions = Object.merge(st.d0.fullOptions, {
- setParameter: 'recoverShardingState=' + (withRecovery? 'true' : 'false'),
- restart: true
- });
+ var restartCmdLineOptions = Object.merge(
+ st.d0.fullOptions,
+ {
+ setParameter: 'recoverShardingState=' + (withRecovery ? 'true' : 'false'),
+ restart: true
+ });
- // Restart the shard that donated a chunk to trigger the optime recovery logic.
- st.stopMongod(0);
- var newMongod = MongoRunner.runMongod(restartCmdLineOptions);
- var shardingSection = newMongod.getDB('admin').runCommand({ serverStatus: 1 }).sharding;
+ // Restart the shard that donated a chunk to trigger the optime recovery logic.
+ st.stopMongod(0);
+ var newMongod = MongoRunner.runMongod(restartCmdLineOptions);
+ var shardingSection = newMongod.getDB('admin').runCommand({serverStatus: 1}).sharding;
- if (st.configRS && withRecovery) {
- assert.neq(null, shardingSection);
+ if (st.configRS && withRecovery) {
+ assert.neq(null, shardingSection);
- // Confirm that the config server string points to an actual config server replica set.
- var configConnStr = shardingSection.configsvrConnectionString;
- var configConn = new Mongo(configConnStr);
- var configIsMaster = configConn.getDB('admin').runCommand({ isMaster: 1 });
- assert.gt(configConnStr.indexOf('/'), 0);
- assert.eq(1, configIsMaster.configsvr); // If it's a shard, this field won't exist.
+ // Confirm that the config server string points to an actual config server replica set.
+ var configConnStr = shardingSection.configsvrConnectionString;
+ var configConn = new Mongo(configConnStr);
+ var configIsMaster = configConn.getDB('admin').runCommand({isMaster: 1});
+ assert.gt(configConnStr.indexOf('/'), 0);
+ assert.eq(1, configIsMaster.configsvr); // If it's a shard, this field won't exist.
- var configOpTimeObj = shardingSection.lastSeenConfigServerOpTime;
- assert.neq(null, configOpTimeObj);
- assert.gte(configOpTimeObj.ts.getTime(), opTimeBeforeMigrate.ts.getTime());
- assert.gte(configOpTimeObj.t, opTimeBeforeMigrate.t);
- }
- else {
- assert.eq(null, shardingSection);
- }
+ var configOpTimeObj = shardingSection.lastSeenConfigServerOpTime;
+ assert.neq(null, configOpTimeObj);
+ assert.gte(configOpTimeObj.ts.getTime(), opTimeBeforeMigrate.ts.getTime());
+ assert.gte(configOpTimeObj.t, opTimeBeforeMigrate.t);
+ } else {
+ assert.eq(null, shardingSection);
+ }
- MongoRunner.stopMongod(newMongod.port);
- st.stop();
-};
+ MongoRunner.stopMongod(newMongod.port);
+ st.stop();
+ };
-runTest(true);
-runTest(false);
+ runTest(true);
+ runTest(false);
})();