From 582fc32574a3b158c81e49cb00e6ae59205e66ba Mon Sep 17 00:00:00 2001 From: Antonin Kral Date: Thu, 17 Mar 2011 00:05:43 +0100 Subject: Imported Upstream version 1.8.0 --- jstests/parallel/del.js | 79 ++++++++++++++++++++++++++++++++++++++++++++++++ jstests/parallel/repl.js | 4 +-- 2 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 jstests/parallel/del.js (limited to 'jstests/parallel') diff --git a/jstests/parallel/del.js b/jstests/parallel/del.js new file mode 100644 index 0000000..c6eb500 --- /dev/null +++ b/jstests/parallel/del.js @@ -0,0 +1,79 @@ + + +N = 1000; + +HOST = db.getMongo().host + +DONE = false; + +function del1( dbname ){ + var m = new Mongo( HOST ) + var db = m.getDB( "foo" + dbname ); + var t = db.del + + while ( ! DONE ){ + var r = Math.random(); + var n = Math.floor( Math.random() * N ); + if ( r < .9 ){ + t.insert( { x : n } ) + } + else if ( r < .98 ){ + t.remove( { x : n } ); + } + else if ( r < .99 ){ + t.remove( { x : { $lt : n } } ) + } + else { + t.remove( { x : { $gt : n } } ); + } + if ( r > .9999 ) + print( t.count() ) + } +} + +function del2( dbname ){ + var m = new Mongo( HOST ) + var db = m.getDB( "foo" + dbname ); + var t = db.del + + while ( ! DONE ){ + var r = Math.random(); + var n = Math.floor( Math.random() * N ); + var s = Math.random() > .5 ? 1 : -1; + + if ( r < .5 ){ + t.findOne( { x : n } ) + } + else if ( r < .75 ){ + t.find( { x : { $lt : n } } ).sort( { x : s } ).itcount(); + } + else { + t.find( { x : { $gt : n } } ).sort( { x : s } ).itcount(); + } + } +} + +all = [] + +all.push( fork( del1 , "a" ) ) +all.push( fork( del2 , "a" ) ) +all.push( fork( del1 , "b" ) ) +all.push( fork( del2 , "b" ) ) + +for ( i=0; i