Files
mongo/jstests/repl/repl15.js
2012-02-12 15:48:32 -08:00

40 lines
985 B
JavaScript

// Test a case were an update can grow a document on master but growth is prevented on slave.
// SERVER-4939
if ( 0 ) { // SERVER-4939
function doTest( capped ) {
rt = new ReplTest( "repl15tests" );
master = rt.start( true );
if ( capped ) {
master.getDB( 'd' ).createCollection( 'c', { capped:true, size:5*1024 } );
}
mc = master.getDB( 'd' )[ 'c' ];
big = new Array( 1000 ).toString();
// Insert a document, then make it slightly smaller.
mc.insert( {a:big} );
mc.update( {}, {$set:{a:'b'}} );
slave = rt.start( false );
sc = slave.getDB( 'd' )[ 'c' ];
// Slave will copy the smaller doc.
assert.soon( function() { return sc.count( {a:'b'} ) > 0; } );
// Update the primary doc to its original size.
mc.update( {}, {$set:{a:big}} );
// Wait for secondary to clone the update.
assert.soon( function() { return sc.count( {a:big} ) > 0; } );
rt.stop();
}
doTest( false );
doTest( true );
}