diff options
Diffstat (limited to 'jstests/repl/dbcase.js')
-rw-r--r-- | jstests/repl/dbcase.js | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/jstests/repl/dbcase.js b/jstests/repl/dbcase.js deleted file mode 100644 index 62087536fe3..00000000000 --- a/jstests/repl/dbcase.js +++ /dev/null @@ -1,98 +0,0 @@ -// Test db case checking with replication SERVER-2111 - -baseName = "jstests_repl_dbcase"; - -rt = new ReplTest( baseName ); - -m = rt.start( true ); -s = rt.start( false ); - -n1 = "dbname"; -n2 = "dbNAme"; - -/** - * The value of n should be n1 or n2. Check that n is soon present while its - * opposite is not present. - */ -function check( n ) { - assert.soon( function() { - try { - // Our db name changes may trigger an exception - SERVER-3189. - names = s.getDBNames(); - } catch (e) { - return false; - } - n1Idx = names.indexOf( n1 ); - n2Idx = names.indexOf( n2 ); - if ( n1Idx != -1 && n2Idx != -1 ) { - // n1 and n2 may both be reported as present transiently. - return false; - } - // Return true if we matched expected n. - return -1 != names.indexOf( n ); - } ); -} - -/** Allow some time for additional operations to be processed by the slave. */ -function checkTwice( n ) { - check( n ); - // zzz is expected to be cloned after n1 and n2 because of its position in the alphabet. - m.getDB( "zzz" ).c.save( {} ); - assert.soon( function() { return s.getDB( "zzz" ).c.count(); } ) - check( n ); - m.getDB( "zzz" ).dropDatabase(); -} - -/** - * The slave may create in memory db names on the master matching old dbs it is - * attempting to clone. This function forces operation 'cmd' by deleting those - * in memory dbs if necessary. This function should only be called in cases where - * 'cmd' would succeed if not for the in memory dbs on master created by the slave. - */ -function force( cmd ) { - print( "cmd: " + cmd ); - eval( cmd ); - while( m1.getLastError() ) { - m1.dropDatabase(); - m2.dropDatabase(); - eval( cmd ); - } -} - -m1 = m.getDB( n1 ); -m2 = m.getDB( n2 ); - -m1.c.save( {} ); -assert( m1.getLastError() == null ); -m2.c.save( {} ); // will fail due to conflict -assert( m2.getLastError() != null ); -check( n1 ); - - -m1.dropDatabase(); -force( "m2.c.save( {} );" ); // will now succeed -check( n2 ); - -m2.dropDatabase(); -force( "m1.c.save( {} );" ); -check( n1 ); - -for( i = 0; i < 5; ++i ) { - m1.dropDatabase(); - force( "m2.c.save( {} );" ); - m2.dropDatabase(); - force( "m1.c.save( {} );" ); -} - -checkTwice( n1 ); - -m1.dropDatabase(); -force( "m2.c.save( {} );" ); - -for( i = 0; i < 5; ++i ) { - m2.dropDatabase(); - force( "m1.c.save( {} );" ); - m1.dropDatabase(); - force( "m2.c.save( {} );" ); -} -checkTwice( n2 ); |