diff options
author | Mathias Stearn <mathias@10gen.com> | 2011-08-23 17:17:30 -0400 |
---|---|---|
committer | Mathias Stearn <mathias@10gen.com> | 2011-08-23 17:17:30 -0400 |
commit | 5940dfb327ad73dffe8bbf01ff96a36a562648c7 (patch) | |
tree | 951edd12ec7392f639ee1cd170fd292c8ee08679 | |
parent | c4639a3e612a7b14a98f306d013f096f123dd78a (diff) | |
download | mongo-5940dfb327ad73dffe8bbf01ff96a36a562648c7.tar.gz |
Test rejoining after forced replSetReconfig
-rw-r--r-- | jstests/replsets/remove1.js | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/jstests/replsets/remove1.js b/jstests/replsets/remove1.js index f93fe9eb071..956b6cb090a 100644 --- a/jstests/replsets/remove1.js +++ b/jstests/replsets/remove1.js @@ -101,7 +101,7 @@ assert.soon(function() { }); config.version = 4; -config.members.pop(); +var oldHost = config.members.pop(); try { master.getDB("admin").runCommand({replSetReconfig : config, force : true}); } @@ -118,5 +118,25 @@ config = master.getDB("local").system.replset.findOne(); printjson(config); assert(config.version > 4); +print("re-add host removed with force"); +replTest.start(1); +config.version++; +config.members.push(oldHost); +try { + master.adminCommand({replSetReconfig : config}); +} +catch(e) { + print(e); + throw e; +} + +var sentinel = {sentinel:1}; +master.getDB("foo").bar.baz.insert(sentinel); +var out = master.adminCommand({getLastError:1, w:2, wtimeout:30*1000}) +assert.eq(out.err, null); + +reconnect(replTest.nodes[1]); +assert.eq(replTest.nodes[1].getDB("foo").bar.baz.count(sentinel), 1) + replTest.stopSet(); |