Files
mongo/jstests/replsets/write_concern_update_where.js
Santiago Roche 876f66eb13 SERVER-92024: Only provide JS_GC_ZEAL setting for mongo server processes. (#24954)
GitOrigin-RevId: 88dd3ef2b4325ca332b8e7e6180f1e8f9c7534ea
2024-09-06 19:58:23 +00:00

31 lines
885 B
JavaScript

/**
* Tests update with $where does not wait for write concern (which would trigger assertion while
* holding global lock) when it iterates system.js collection using DBDirectClient.
*
* @tags: [
* requires_scripting
* ]
*/
import {ReplSetTest} from "jstests/libs/replsettest.js";
const rst = new ReplSetTest({name: jsTestName(), nodes: 2});
rst.startSet();
rst.initiate();
const db = rst.getPrimary().getDB(jsTestName());
for (var i = 0; i < 3000; i++) {
db.system.js.insertOne({
_id: "test" + i,
value: function(x) {
return x;
}
});
}
assert.commandWorked(db.coll.insertOne({x: 1}));
assert.commandWorked(db.coll.updateMany({$where: "function() { return test0(this.x) != 0; }"},
{$set: {x: 2}},
{writeConcern: {w: "majority"}}));
rst.stopSet();