diff options
author | Mathias Stearn <mathias@10gen.com> | 2015-05-26 14:44:27 -0400 |
---|---|---|
committer | Mathias Stearn <mathias@10gen.com> | 2015-06-09 16:33:21 -0400 |
commit | a5fae81a6bd8c25cd2508c9b303ac1a1c9c18011 (patch) | |
tree | 51a9b3f8e8a55e2902a897523c05298a2d56e128 /jstests/parallel | |
parent | 86c9f8bd1e1e0fe61bf18b71b06b43933f99d722 (diff) | |
download | mongo-a5fae81a6bd8c25cd2508c9b303ac1a1c9c18011.tar.gz |
Don't run update_serializaility2.js on MMAPv1
Diffstat (limited to 'jstests/parallel')
-rw-r--r-- | jstests/parallel/update_serializability2.js | 41 |
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(); +} |