summaryrefslogtreecommitdiff
path: root/jstests/parallel
diff options
context:
space:
mode:
authorAntonin Kral <a.kral@bobek.cz>2011-03-17 00:05:43 +0100
committerAntonin Kral <a.kral@bobek.cz>2011-03-17 00:05:43 +0100
commit582fc32574a3b158c81e49cb00e6ae59205e66ba (patch)
treeac64a3243e0d2121709f685695247052858115c8 /jstests/parallel
parent2761bffa96595ac1698d86bbc2e95ebb0d4d6e93 (diff)
downloadmongodb-582fc32574a3b158c81e49cb00e6ae59205e66ba.tar.gz
Imported Upstream version 1.8.0
Diffstat (limited to 'jstests/parallel')
-rw-r--r--jstests/parallel/del.js79
-rw-r--r--jstests/parallel/repl.js4
2 files changed, 81 insertions, 2 deletions
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<all.length; i++ )
+ all[i].start()
+
+a = db.getSisterDB( "fooa" )
+b = db.getSisterDB( "foob" )
+
+for ( i=0; i<10; i++ ){
+ sleep( 2000 )
+ print( "dropping" )
+ a.dropDatabase();
+ b.dropDatabase();
+}
+
+DONE = true;
+
+all[0].join()
+
diff --git a/jstests/parallel/repl.js b/jstests/parallel/repl.js
index cb9b770..919b0d7 100644
--- a/jstests/parallel/repl.js
+++ b/jstests/parallel/repl.js
@@ -1,4 +1,4 @@
-// test all operations in parallel
+// test basic operations in parallel, with replication
baseName = "parallel_repl"
@@ -25,7 +25,7 @@ for( id = 0; id < 10; ++id ) {
g.addRemove( { _id:Random.randInt( 1000 ) } );
break;
case 2: // update
- g.addUpdate( {_id:{$lt:1000}}, {a:{$inc:5}} );
+ g.addUpdate( {_id:{$lt:1000}}, {$inc:{a:5}} );
break;
default:
assert( false, "Invalid op code" );