diff options
Diffstat (limited to 'jstests/repl/pair5.js')
-rw-r--r-- | jstests/repl/pair5.js | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/jstests/repl/pair5.js b/jstests/repl/pair5.js deleted file mode 100644 index de7e2d5..0000000 --- a/jstests/repl/pair5.js +++ /dev/null @@ -1,95 +0,0 @@ -// writes to new master while making master-master logs consistent - -var baseName = "jstests_pair5test"; - -debug = function( p ) { - print( p ); -} - -ismaster = function( n ) { - var im = n.getDB( "admin" ).runCommand( { "ismaster" : 1 } ); - print( "ismaster: " + tojson( im ) ); - assert( im, "command ismaster failed" ); - return im.ismaster; -} - -connect = function() { - startMongoProgram( "mongobridge", "--port", lpPort, "--dest", "localhost:" + lPort ); - startMongoProgram( "mongobridge", "--port", rpPort, "--dest", "localhost:" + rPort ); -} - -disconnect = function() { - stopMongoProgram( lpPort ); - stopMongoProgram( rpPort ); -} - -write = function( m, n, id ) { - if ( id ) { - save = { _id:id, n:n }; - } else { - save = { n:n }; - } - m.getDB( baseName ).getCollection( baseName ).save( save ); -} - -checkCount = function( m, c ) { - m.setSlaveOk(); - assert.soon( function() { - actual = m.getDB( baseName ).getCollection( baseName ).find().count(); - print( actual ); - return c == actual; }, - "count failed for " + m ); -} - -doTest = function( nSlave, opIdMem ) { - ports = allocatePorts( 5 ); - aPort = ports[ 0 ]; - lPort = ports[ 1 ]; - lpPort = ports[ 2 ]; - rPort = ports[ 3 ]; - rpPort = ports[ 4 ]; - - // start normally - connect(); - a = new MongodRunner( aPort, "/data/db/" + baseName + "-arbiter" ); - l = new MongodRunner( lPort, "/data/db/" + baseName + "-left", "127.0.0.1:" + rpPort, "127.0.0.1:" + aPort ); - r = new MongodRunner( rPort, "/data/db/" + baseName + "-right", "127.0.0.1:" + lpPort, "127.0.0.1:" + aPort ); - pair = new ReplPair( l, r, a ); - pair.start(); - pair.waitForSteadyState(); - - // now each can only talk to arbiter - disconnect(); - pair.waitForSteadyState( [ 1, 1 ], null, true ); - - // left will become slave (b/c both completed initial sync) - for( i = 0; i < nSlave; ++i ) { - write( pair.left(), i, i ); - } - pair.left().getDB( baseName ).getCollection( baseName ).findOne(); - - for( i = 10000; i < 15000; ++i ) { - write( pair.right(), i, i ); - } - pair.right().getDB( baseName ).getCollection( baseName ).findOne(); - - connect(); - pair.waitForSteadyState( [ 1, 0 ], pair.right().host, true ); - - pair.master().getDB( baseName ).getCollection( baseName ).update( {_id:nSlave - 1}, {_id:nSlave - 1,n:-1}, true ); - assert.eq( -1, pair.master().getDB( baseName ).getCollection( baseName ).findOne( {_id:nSlave - 1} ).n ); - checkCount( pair.master(), 5000 + nSlave ); - assert.eq( -1, pair.master().getDB( baseName ).getCollection( baseName ).findOne( {_id:nSlave - 1} ).n ); - pair.slave().setSlaveOk(); - assert.soon( function() { - n = pair.slave().getDB( baseName ).getCollection( baseName ).findOne( {_id:nSlave - 1} ).n; - print( n ); - return -1 == n; - } ); - - ports.forEach( function( x ) { stopMongoProgram( x ); } ); - -} - -doTest( 5000, 100000000 ); -doTest( 5000, 100 ); // force op id converstion to collection based storage |