From 0ad0c09511a04ebe837f2acb859d47f2aa4e038a Mon Sep 17 00:00:00 2001 From: Antonin Kral Date: Fri, 24 Sep 2010 19:01:03 +0200 Subject: Imported Upstream version 1.6.3 --- jstests/repl/snapshot2.js | 47 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 13 deletions(-) (limited to 'jstests/repl/snapshot2.js') diff --git a/jstests/repl/snapshot2.js b/jstests/repl/snapshot2.js index d65cad7..60b3531 100644 --- a/jstests/repl/snapshot2.js +++ b/jstests/repl/snapshot2.js @@ -1,4 +1,6 @@ -// Test SERVER-623 - starting repl peer from a new snapshot of master +// Test SERVER-623 - starting repl peer from a new snapshot of master + +print("snapshot2.js 1 -----------------------------------------------------------"); ports = allocatePorts( 3 ); @@ -7,21 +9,37 @@ var basePath = "/data/db/" + baseName; a = new MongodRunner( ports[ 0 ], basePath + "-arbiter" ); l = new MongodRunner( ports[ 1 ], basePath + "-left", "127.0.0.1:" + ports[ 2 ], "127.0.0.1:" + ports[ 0 ] ); -r = new MongodRunner( ports[ 2 ], basePath + "-right", "127.0.0.1:" + ports[ 1 ], "127.0.0.1:" + ports[ 0 ] ); +r = new MongodRunner( ports[ 2 ], basePath + "-right", "127.0.0.1:" + ports[ 1 ], "127.0.0.1:" + ports[ 0 ] ); + +print("snapshot2.js 2 -----------------------------------------------------------"); -rp = new ReplPair( l, r, a ); -rp.start(); -rp.waitForSteadyState(); +rp = new ReplPair(l, r, a); +rp.start(); +print("snapshot2.js 3 -----------------------------------------------------------"); +rp.waitForSteadyState(); + +print("snapshot2.js 4 -----------------------------------------------------------"); big = new Array( 2000 ).toString(); // overflow oplog, so test can't pass supriously -rp.slave().setSlaveOk(); -for( i = 0; i < 500; ++i ) { - rp.master().getDB( baseName )[ baseName ].save( { _id: new ObjectId(), i: i, b: big } ); - if ( i % 250 == 249 ) { - assert.soon( function() { return i+1 == rp.slave().getDB( baseName )[ baseName ].count(); } ); +rp.slave().setSlaveOk(); +print("snapshot2.js 5 -----------------------------------------------------------"); +for (i = 0; i < 500; ++i) { + rp.master().getDB( baseName )[ baseName ].save( { _id: new ObjectId(), i: i, b: big } ); + if (i % 250 == 249) { + function p() { return i + 1 == rp.slave().getDB(baseName)[baseName].count(); } + try { + assert.soon(p); + } catch (e) { + print("\n\n\nsnapshot2.js\ni+1:" + (i + 1)); + print("slave count:" + rp.slave().getDB(baseName)[baseName].count()); + sleep(2000); + print(p()); + throw (e); + } sleep( 10 ); // give master a chance to grab a sync point - have such small oplogs the master log might overflow otherwise } -} +} +print("snapshot2.js 6 -----------------------------------------------------------"); rp.master().getDB( "admin" ).runCommand( {fsync:1,lock:1} ); leftMaster = ( rp.master().host == rp.left().host ); @@ -47,5 +65,8 @@ assert.eq( 500, rp.slave().getDB( baseName )[ baseName ].count() ); rp.master().getDB( baseName )[ baseName ].save( {i:500} ); assert.soon( function() { return 501 == rp.slave().getDB( baseName )[ baseName ].count(); } ); -assert( !rawMongoProgramOutput().match( /resync/ ) ); -assert( !rawMongoProgramOutput().match( /SyncException/ ) ); \ No newline at end of file +assert( !rawMongoProgramOutput().match( /resync/ ) ); +assert(!rawMongoProgramOutput().match(/SyncException/)); + +print("snapshot2.js SUCCESS ----------------"); + -- cgit v1.2.3