summaryrefslogtreecommitdiff
path: root/jstests/parallel
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2015-05-26 14:44:27 -0400
committerMathias Stearn <mathias@10gen.com>2015-06-09 16:33:21 -0400
commita5fae81a6bd8c25cd2508c9b303ac1a1c9c18011 (patch)
tree51a9b3f8e8a55e2902a897523c05298a2d56e128 /jstests/parallel
parent86c9f8bd1e1e0fe61bf18b71b06b43933f99d722 (diff)
downloadmongo-a5fae81a6bd8c25cd2508c9b303ac1a1c9c18011.tar.gz
Don't run update_serializaility2.js on MMAPv1
Diffstat (limited to 'jstests/parallel')
-rw-r--r--jstests/parallel/update_serializability2.js41
1 files changed, 25 insertions, 16 deletions
diff --git a/jstests/parallel/update_serializability2.js b/jstests/parallel/update_serializability2.js
index 76045644f22..878fdec4d37 100644
--- a/jstests/parallel/update_serializability2.js
+++ b/jstests/parallel/update_serializability2.js
@@ -1,23 +1,32 @@
+function test() {
+ "use strict";
+ var t = db.update_serializability1;
+ t.drop();
-t = db.update_serializability1;
-t.drop();
+ var N = 100000;
-N = 100000;
+ var bulk = t.initializeUnorderedBulkOp()
+ for ( var i = 0; i < N; i++ ) {
+ bulk.insert( { _id : i, a : i, b: N-i, x : 1, y : 1 } );
+ }
+ bulk.execute();
-bulk = t.initializeUnorderedBulkOp()
-for ( var i = 0; i < N; i++ ) {
- bulk.insert( { _id : i, a : i, b: N-i, x : 1, y : 1 } );
-}
-bulk.execute();
+ t.ensureIndex( { a : 1 } );
+ t.ensureIndex( { b : 1 } );
-t.ensureIndex( { a : 1 } );
-t.ensureIndex( { b : 1 } );
+ var s1 = startParallelShell( "db.update_serializability1.update( { a : { $gte : 0 } }, { $set : { x : 2 } }, false, true );" );
+ var s2 = startParallelShell( "db.update_serializability1.update( { b : { $lte : " + N + " } }, { $set : { y : 2 } }, false, true );" );
-s1 = startParallelShell( "db.update_serializability1.update( { a : { $gte : 0 } }, { $set : { x : 2 } }, false, true );" );
-s2 = startParallelShell( "db.update_serializability1.update( { b : { $lte : " + N + " } }, { $set : { y : 2 } }, false, true );" );
+ s1();
+ s2();
-s1();
-s2();
+ // both operations should happen on every document
+ assert.eq( N, t.find( { x : 2, y : 2 } ).count() );
+}
-// both operations should happen on every document
-assert.eq( N, t.find( { x : 2, y : 2 } ).count() );
+if (db.serverStatus().storageEngine.name == 'mmapv1') {
+ jsTest.log('skipping test on mmapv1'); // This is only guaranteed on other engines.
+}
+else {
+ test();
+}