0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-12-01 09:32:32 +01:00
mongodb/jstests/replsets/reconfig_prohibits_w0.js
A. Jesse Jiryu Davis 1b516e4def SERVER-15623 Test that w:0 is prohibited in getLastErrorDefaults.
Closes #847

Signed-off-by: Benety Goh <benety@mongodb.com>
2014-10-31 09:46:53 -04:00

41 lines
1.0 KiB
JavaScript

/*
* Test that replSetReconfig prohibits w:0 in getLastErrorDefaults,
* SERVER-13055.
*/
var NewReplicaSetConfigurationIncompatible = 103;
var replTest = new ReplSetTest({name: 'prohibit_w0', nodes: 1});
var nodes = replTest.nodeList();
var conns = replTest.startSet();
var admin = conns[0].getDB("admin");
replTest.initiate({
_id: 'prohibit_w0',
members: [{_id: 0, host: nodes[0]}]});
function testReconfig(gleDefaults) {
var conf = admin.runCommand({replSetGetConfig: 1}).config;
jsTestLog('conf');
printjson(conf);
conf.settings = gleDefaults;
conf.version++;
var response = admin.runCommand({replSetReconfig: conf});
assert.commandFailedWithCode(response, NewReplicaSetConfigurationIncompatible);
}
/*
* Try to reconfig with w: 0 in getLastErrorDefaults.
*/
testReconfig({
getLastErrorDefaults: {w: 0}});
/*
* Try to reconfig with w: 0 and other options in getLastErrorDefaults.
*/
testReconfig({
getLastErrorDefaults: {w: 0, j: false, wtimeout: 100, fsync: true}});
replTest.stopSet();