diff options
author | Eric Milkie <milkie@10gen.com> | 2012-11-09 10:47:00 -0500 |
---|---|---|
committer | Eric Milkie <milkie@10gen.com> | 2012-11-09 14:21:30 -0500 |
commit | 39f9638a400a1189d9f00f89c5ece874b4acaf2a (patch) | |
tree | 41ff2b9bf5e70554e3e403079ef437aa8be761ed /jstests | |
parent | 105f52b07e90f809a5f6d5ca063c6fbf7638ad17 (diff) | |
download | mongo-39f9638a400a1189d9f00f89c5ece874b4acaf2a.tar.gz |
SERVER-7551 use same batch limits for initialsync and synctail
Diffstat (limited to 'jstests')
-rw-r--r-- | jstests/replsets/replset9.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/jstests/replsets/replset9.js b/jstests/replsets/replset9.js new file mode 100644 index 00000000000..e3912877405 --- /dev/null +++ b/jstests/replsets/replset9.js @@ -0,0 +1,52 @@ + + +var rt = new ReplSetTest( { name : "replset9tests" , nodes: 1, oplogSize: 400 } ); + +var nodes = rt.startSet(); +rt.initiate(); +var master = rt.getMaster(); +var bigstring = "a"; +var md = master.getDB( 'd' ); +var mdc = md[ 'c' ]; + +// idea: while cloner is running, update some docs and then immediately remove them. +// oplog will have ops referencing docs that no longer exist. + +var doccount = 20000; +// Avoid empty extent issues +mdc.insert( { _id:-1, x:"dummy" } ); + +// Make this db big so that cloner takes a while. +print ("inserting bigstrings"); +for( i = 0; i < doccount; ++i ) { + mdc.insert( { _id:i, x:bigstring } ); + bigstring += "a"; +} +md.getLastError(); + +// Insert some docs to update and remove +print ("inserting x"); +for( i = doccount; i < doccount*2; ++i ) { + mdc.insert( { _id:i, bs:bigstring, x:i } ); +} +md.getLastError(); + +// add a secondary; start cloning +var slave = rt.add(); +rt.reInitiate(); +print ("initiation complete!"); +var sc = slave.getDB( 'd' )[ 'c' ]; +slave.setSlaveOk(); + +print ("updating and deleting documents"); +for (i = doccount*2; i > doccount; --i) { + mdc.update( { _id:i }, { $inc: { x : 1 } } ); + md.getLastError(); + mdc.remove( { _id:i } ); + md.getLastError(); + mdc.insert( { bs:bigstring } ); + md.getLastError(); +} +print ("finished"); +// Wait for replication to catch up. +rt.awaitReplication(640000); |