summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2011-08-23 17:17:30 -0400
committerMathias Stearn <mathias@10gen.com>2011-08-23 17:17:30 -0400
commit5940dfb327ad73dffe8bbf01ff96a36a562648c7 (patch)
tree951edd12ec7392f639ee1cd170fd292c8ee08679
parentc4639a3e612a7b14a98f306d013f096f123dd78a (diff)
downloadmongo-5940dfb327ad73dffe8bbf01ff96a36a562648c7.tar.gz
Test rejoining after forced replSetReconfig
-rw-r--r--jstests/replsets/remove1.js22
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();