diff options
author | Mathias Stearn <mathias@10gen.com> | 2011-09-06 23:41:54 -0400 |
---|---|---|
committer | Mathias Stearn <mathias@10gen.com> | 2011-09-06 23:46:18 -0400 |
commit | 6362013e418bd0ed854ef6d623e07b44ba2f6b3c (patch) | |
tree | afd08f45dd428c129471a18cbff4ba0044fffab7 /jstests | |
parent | 41f0781429225f979cdd2b19e09ca696729860f5 (diff) | |
download | mongo-6362013e418bd0ed854ef6d623e07b44ba2f6b3c.tar.gz |
Queries for rollback objects need SlaveOk bit SERVER-3650
Diffstat (limited to 'jstests')
-rw-r--r-- | jstests/replsets/rollback4.js | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/jstests/replsets/rollback4.js b/jstests/replsets/rollback4.js index b88c0424d85..f4de94132d9 100644 --- a/jstests/replsets/rollback4.js +++ b/jstests/replsets/rollback4.js @@ -1,4 +1,4 @@ -if (0) { // disabled due to SERVER-3650 +if (1) { // SERVER-3650 var num = 7; var host = getHostName(); @@ -45,25 +45,26 @@ replTest.partition(2,5) replTest.partition(2,6) printjson({endPartition: new Date()}); -var gotOneThrough = false +var gotThrough = 0 try { while (true){ mColl.insert({}) - out = master.adminCommand({getLastError:1}); + out = master.adminCommand({getLastError:1, w:3}); if (out.err) break; - gotOneThrough = true; + gotThrough++; } } catch (e) { print("caught exception"); } +printjson({gotThrough: gotThrough}); printjson({cantWriteOldPrimary: new Date()}); printjson(master.adminCommand("replSetGetStatus")); -assert(gotOneThrough, "gotOneThrough"); +assert(gotThrough > 0, "gotOneThrough"); sleep(5*1000); // make sure new seconds field in opTime @@ -78,6 +79,8 @@ m2Coll.insert(sentinel); printjson(master2.adminCommand({getLastError:1, w:4, wtimeout:30*1000})); printjson(master2.adminCommand("replSetGetStatus")); +m2Coll.insert({}); // this shouldn't be necessary but the next GLE doesn't work without it + printjson({startUnPartition: new Date()}); replTest.unPartition(0,3) replTest.unPartition(0,4) @@ -93,10 +96,14 @@ replTest.unPartition(2,5) replTest.unPartition(2,6) printjson({endUnPartition: new Date()}); -m2Coll.insert({}); // this shouldn't be necessary but the next line doesn't work without it printjson(master2.adminCommand({getLastError:1, w:7, wtimeout:30*1000})); printjson(master2.adminCommand("replSetGetStatus")); +assert.soon(function() {return master.adminCommand('isMaster').ismaster}, + "Node 0 back to primary", + 60*1000/*needs to be longer than LeaseTime*/); +printjson(master.adminCommand("replSetGetStatus")); + // make sure old master rolled back to new master assert.eq(m2Coll.count(sentinel), 1, "check sentinal on node 6"); assert.eq(mColl.count(sentinel), 1, "check sentinal on node 0"); |