diff options
Diffstat (limited to 'jstests/slow1/conc_update.js')
-rw-r--r-- | jstests/slow1/conc_update.js | 82 |
1 files changed, 41 insertions, 41 deletions
diff --git a/jstests/slow1/conc_update.js b/jstests/slow1/conc_update.js index 57e4ba134cb..083b333b281 100644 --- a/jstests/slow1/conc_update.js +++ b/jstests/slow1/conc_update.js @@ -1,61 +1,61 @@ (function() { - "use strict"; +"use strict"; - const conn = MongoRunner.runMongod({nojournal: ""}); - assert.neq(null, conn, "mongod was unable to start up"); - db = conn.getDB("concurrency"); - db.dropDatabase(); +const conn = MongoRunner.runMongod({nojournal: ""}); +assert.neq(null, conn, "mongod was unable to start up"); +db = conn.getDB("concurrency"); +db.dropDatabase(); - const NRECORDS = 3 * 1024 * 1024; +const NRECORDS = 3 * 1024 * 1024; - print("loading " + NRECORDS + " documents (progress msg every 1024*1024 documents)"); - var bulk = db.conc.initializeUnorderedBulkOp(); - for (var i = 0; i < NRECORDS; i++) { - bulk.insert({x: i}); - } - assert.writeOK(bulk.execute()); +print("loading " + NRECORDS + " documents (progress msg every 1024*1024 documents)"); +var bulk = db.conc.initializeUnorderedBulkOp(); +for (var i = 0; i < NRECORDS; i++) { + bulk.insert({x: i}); +} +assert.writeOK(bulk.execute()); - print("making an index (this will take a while)"); - db.conc.ensureIndex({x: 1}); +print("making an index (this will take a while)"); +db.conc.ensureIndex({x: 1}); - var c1 = db.conc.count({x: {$lt: NRECORDS}}); +var c1 = db.conc.count({x: {$lt: NRECORDS}}); - const updater = startParallelShell( - "db = db.getSisterDB('concurrency');\ +const updater = startParallelShell( + "db = db.getSisterDB('concurrency');\ db.concflag.insert({ inprog: true });\ sleep(20);\ assert.writeOK(db.conc.update({}, \ { $inc: { x: " + - NRECORDS + - "}}, false, true)); \ + NRECORDS + + "}}, false, true)); \ assert.writeOK(db.concflag.update({}, { inprog: false }));"); - assert.soon(function() { - var x = db.concflag.findOne(); - return x && x.inprog; - }, "wait for fork", 30000, 1); +assert.soon(function() { + var x = db.concflag.findOne(); + return x && x.inprog; +}, "wait for fork", 30000, 1); - let querycount = 0; - let decrements = 0; - let misses = 0; +let querycount = 0; +let decrements = 0; +let misses = 0; - assert.soon(function() { - const c2 = db.conc.count({x: {$lt: NRECORDS}}); - print(c2); - querycount++; - if (c2 < c1) - decrements++; - else - misses++; - c1 = c2; - return !db.concflag.findOne().inprog; - }, "update never finished", 2 * 60 * 60 * 1000, 10); +assert.soon(function() { + const c2 = db.conc.count({x: {$lt: NRECORDS}}); + print(c2); + querycount++; + if (c2 < c1) + decrements++; + else + misses++; + c1 = c2; + return !db.concflag.findOne().inprog; +}, "update never finished", 2 * 60 * 60 * 1000, 10); - print(querycount + " queries, " + decrements + " decrements, " + misses + " misses"); +print(querycount + " queries, " + decrements + " decrements, " + misses + " misses"); - assert.eq(NRECORDS, db.conc.count(), "AT END 1"); +assert.eq(NRECORDS, db.conc.count(), "AT END 1"); - updater(); // wait() +updater(); // wait() - MongoRunner.stopMongod(conn); +MongoRunner.stopMongod(conn); })(); |