summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl
diff options
context:
space:
mode:
authormatt dannenberg <matt.dannenberg@10gen.com>2014-06-02 08:34:36 -0400
committermatt dannenberg <matt.dannenberg@10gen.com>2014-06-03 06:18:40 -0400
commitaf057b64bad3fff652b98137e66dd138833d46c0 (patch)
tree57cbba7127dbaed0030db54951e80d544a96ccc3 /src/mongo/db/repl
parent7f74dfc223f6aafac1c01ae12da8db52bbf25a59 (diff)
downloadmongo-af057b64bad3fff652b98137e66dd138833d46c0.tar.gz
SERVER-13055 disallow w:0 as getLastErrorDefaults value
Diffstat (limited to 'src/mongo/db/repl')
-rw-r--r--src/mongo/db/repl/rs_config.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/repl/rs_config.cpp b/src/mongo/db/repl/rs_config.cpp
index 61f65964182..2a590a99ab0 100644
--- a/src/mongo/db/repl/rs_config.cpp
+++ b/src/mongo/db/repl/rs_config.cpp
@@ -362,6 +362,11 @@ namespace repl {
uassert(13308, "replSet bad config version #", version > 0);
uassert(13133, "replSet bad config no members", members.size() >= 1);
uassert(13309, "replSet bad config maximum number of members is 12", members.size() <= 12);
+ if (!getLastErrorDefaults.isEmpty() && getLastErrorDefaults.hasField("w")
+ && getLastErrorDefaults["w"].isNumber()) {
+ uassert(17505, "replSet illegal config: getLastErrorDefaults w:0",
+ getLastErrorDefaults["w"].safeNumberLong() != 0);
+ }
{
unsigned voters = 0;
for( vector<MemberCfg>::const_iterator i = members.begin(); i != members.end(); ++i ) {