diff options
Diffstat (limited to 'jstests/replsets/replsetfreeze.js')
-rw-r--r-- | jstests/replsets/replsetfreeze.js | 79 |
1 files changed, 36 insertions, 43 deletions
diff --git a/jstests/replsets/replsetfreeze.js b/jstests/replsets/replsetfreeze.js index 3467f4bd98f..2629a78fe15 100644 --- a/jstests/replsets/replsetfreeze.js +++ b/jstests/replsets/replsetfreeze.js @@ -10,13 +10,12 @@ * 9: check we get a new master within 30 seconds */ - var w = 0; var wait = function(f) { w++; var n = 0; while (!f()) { - if( n % 4 == 0 ) + if (n % 4 == 0) print("toostale.js waiting " + w); if (++n == 4) { print("" + f); @@ -27,26 +26,29 @@ var wait = function(f) { }; var reconnect = function(a) { - wait(function() { - try { - a.getDB("foo").bar.stats(); - return true; - } catch(e) { - print(e); - return false; - } + wait(function() { + try { + a.getDB("foo").bar.stats(); + return true; + } catch (e) { + print(e); + return false; + } }); }; - print("1: initialize set"); -var replTest = new ReplSetTest( {name: 'unicomplex', nodes: 3} ); +var replTest = new ReplSetTest({name: 'unicomplex', nodes: 3}); var nodes = replTest.nodeList(); var conns = replTest.startSet(); -var config = {"_id" : "unicomplex", "members" : [ - {"_id" : 0, "host" : nodes[0] }, - {"_id" : 1, "host" : nodes[1] }, - {"_id" : 2, "host" : nodes[2], "arbiterOnly" : true}]}; +var config = { + "_id": "unicomplex", + "members": [ + {"_id": 0, "host": nodes[0]}, + {"_id": 1, "host": nodes[1]}, + {"_id": 2, "host": nodes[2], "arbiterOnly": true} + ] +}; var r = replTest.initiate(config); var master = replTest.getPrimary(); var secondary = replTest.getSecondary(); @@ -55,55 +57,46 @@ replTest.awaitSecondaryNodes(); print("2: step down m1"); try { - master.getDB("admin").runCommand({replSetStepDown : 1, force : 1}); -} -catch(e) { - print(e); + master.getDB("admin").runCommand({replSetStepDown: 1, force: 1}); +} catch (e) { + print(e); } reconnect(master); -printjson( master.getDB("admin").runCommand({replSetGetStatus: 1}) ); +printjson(master.getDB("admin").runCommand({replSetGetStatus: 1})); print("3: freeze set for 30 seconds"); var start = (new Date()).getTime(); -assert.commandWorked(secondary.getDB("admin").runCommand({replSetFreeze : 30})); -assert.commandWorked(master.getDB("admin").runCommand({replSetFreeze : 30})); - +assert.commandWorked(secondary.getDB("admin").runCommand({replSetFreeze: 30})); +assert.commandWorked(master.getDB("admin").runCommand({replSetFreeze: 30})); print("4: check no one is master for 30 seconds"); -while ((new Date()).getTime() - start < (28 * 1000) ) { // we need less 30 since it takes some time to return... hacky - var result = master.getDB("admin").runCommand({isMaster:1}); - assert.eq(result.ismaster, false); - assert.eq(result.primary, undefined); - sleep(1000); +while ((new Date()).getTime() - start < + (28 * 1000)) { // we need less 30 since it takes some time to return... hacky + var result = master.getDB("admin").runCommand({isMaster: 1}); + assert.eq(result.ismaster, false); + assert.eq(result.primary, undefined); + sleep(1000); } - print("5: check for new master"); master = replTest.getPrimary(); - print("6: step down new master"); try { - master.getDB("admin").runCommand({replSetStepDown : 1, force : 1}); -} -catch(e) { - print(e); + master.getDB("admin").runCommand({replSetStepDown: 1, force: 1}); +} catch (e) { + print(e); } reconnect(master); - print("7: freeze for 30 seconds"); -master.getDB("admin").runCommand({replSetFreeze : 30}); +master.getDB("admin").runCommand({replSetFreeze: 30}); sleep(1000); - print("8: unfreeze"); -master.getDB("admin").runCommand({replSetFreeze : 0}); - +master.getDB("admin").runCommand({replSetFreeze: 0}); print("9: check we get a new master within 30 seconds"); master = replTest.getPrimary(); - -replTest.stopSet( 15 ); - +replTest.stopSet(15); |