summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgregs <greg@10gen.com>2011-12-02 11:33:22 -0500
committergregs <greg@10gen.com>2011-12-02 11:33:22 -0500
commitf0d35552f7b982d63362f8221d5a5e87d49fc9af (patch)
treecd87a6e6d8c9d4620e14eca585a8afb12025a4a2
parent468b35887eaec04f0e1dddccfcb5f3a759fff9e0 (diff)
downloadmongo-f0d35552f7b982d63362f8221d5a5e87d49fc9af.tar.gz
buildbot v2.0.2 replica_set_shard_version.js reconnect after stepdown and fix other timing issues
-rw-r--r--jstests/slowNightly/replica_set_shard_version.js56
1 files changed, 38 insertions, 18 deletions
diff --git a/jstests/slowNightly/replica_set_shard_version.js b/jstests/slowNightly/replica_set_shard_version.js
index ca456dcc177..6221f4cdc58 100644
--- a/jstests/slowNightly/replica_set_shard_version.js
+++ b/jstests/slowNightly/replica_set_shard_version.js
@@ -6,10 +6,24 @@ var st = new ShardingTest( { shards : 1, mongos : 2, other : { rs : true } } )
var mongosA = st.s0
var mongosB = st.s1
+var rs = st._rs[0].test
var shard = st.shard0
var sadmin = shard.getDB( "admin" )
-sadmin.runCommand({ replSetStepDown : 3000, force : true })
+
+jsTestLog( "Stepping down replica set member..." )
+
+try{
+ sadmin.runCommand({ replSetStepDown : 3000, force : true })
+}
+catch( e ){
+ // stepdown errors out our conn to the shard
+ printjson( e )
+}
+
+jsTestLog( "Reconnecting..." )
+
+sadmin = new Mongo( st.shard0.host ).getDB("admin")
assert.soon(
function(){
@@ -22,36 +36,42 @@ assert.soon(
}
);
+jsTestLog( "New primary elected..." )
+
coll = mongosA.getCollection( jsTestName() + ".coll" );
start = new Date();
-iteratioons = 0;
+ReplSetTest.awaitRSClientHosts( coll.getMongo(), rs.getPrimary(), { ismaster : true }, rs )
-assert.soon(
- function(z){
- iteratioons++;
- try {
- coll.findOne();
- return true;
- }
- catch ( e ){
- return false;
- }
- } );
-
-printjson( coll.findOne() )
+try{
+ coll.findOne()
+}
+catch( e ){
+ printjson( e )
+ assert( false )
+}
end = new Date();
print( "time to work for primary: " + ( ( end.getTime() - start.getTime() ) / 1000 ) + " seconds" );
-assert.gt( 3 , iteratioons );
-
+jsTestLog( "Found data from collection..." )
// now check secondary
-sadmin.runCommand({ replSetStepDown : 3000, force : true })
+try{
+ sadmin.runCommand({ replSetStepDown : 3000, force : true })
+}
+catch( e ){
+ // expected, since all conns closed
+ printjson( e )
+}
+
+sadmin = new Mongo( st.shard0.host ).getDB("admin")
+
+jsTestLog( "Stepped down secondary..." )
+
other = new Mongo( mongosA.host );
other.setSlaveOk( true );
other = other.getCollection( jsTestName() + ".coll" );