From 0796354eecd6565aeaf494c1f580f3440ba2bd7a Mon Sep 17 00:00:00 2001 From: Jordi Olivares Provencio Date: Wed, 12 Jan 2022 09:38:01 +0000 Subject: SERVER-56146 Fix commitQuorum error message --- src/mongo/db/catalog/commit_quorum_options.cpp | 4 ++-- src/mongo/db/catalog/commit_quorum_options_test.cpp | 4 ++-- src/mongo/db/repl/repl_set_config.cpp | 1 - src/mongo/db/repl/repl_set_config.h | 4 ++-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/mongo/db/catalog/commit_quorum_options.cpp b/src/mongo/db/catalog/commit_quorum_options.cpp index a20218fa6e6..0a85a812b56 100644 --- a/src/mongo/db/catalog/commit_quorum_options.cpp +++ b/src/mongo/db/catalog/commit_quorum_options.cpp @@ -68,12 +68,12 @@ Status CommitQuorumOptions::parse(const BSONElement& commitQuorumElement) { if (commitQuorumElement.isNumber()) { auto cNumNodes = commitQuorumElement.safeNumberLong(); if (cNumNodes < 0 || - cNumNodes > static_cast(repl::ReplSetConfig::kMaxMembers)) { + cNumNodes > static_cast(repl::ReplSetConfig::kMaxVotingMembers)) { return Status( ErrorCodes::FailedToParse, str::stream() << "commitQuorum has to be a non-negative number and not greater than " - << repl::ReplSetConfig::kMaxMembers); + << repl::ReplSetConfig::kMaxVotingMembers); } numNodes = static_cast(cNumNodes); } else if (commitQuorumElement.type() == String) { diff --git a/src/mongo/db/catalog/commit_quorum_options_test.cpp b/src/mongo/db/catalog/commit_quorum_options_test.cpp index e0c6e4d6e4e..ad5c3a787bf 100644 --- a/src/mongo/db/catalog/commit_quorum_options_test.cpp +++ b/src/mongo/db/catalog/commit_quorum_options_test.cpp @@ -54,7 +54,7 @@ TEST(CommitQuorumOptionsTest, ParseReturnsFailedToParseIfCommitQuorumIsANegative BSONObj obj = BSON("commitQuorum" << -1); auto status = CommitQuorumOptions().parse(obj.getField("commitQuorum")); ASSERT_EQUALS(ErrorCodes::FailedToParse, status); - ASSERT_EQUALS("commitQuorum has to be a non-negative number and not greater than 50", + ASSERT_EQUALS("commitQuorum has to be a non-negative number and not greater than 7", status.reason()); } @@ -63,7 +63,7 @@ TEST(CommitQuorumOptionsTest, BSONObj obj = BSON("commitQuorum" << 70); auto status = CommitQuorumOptions().parse(obj.getField("commitQuorum")); ASSERT_EQUALS(ErrorCodes::FailedToParse, status); - ASSERT_EQUALS("commitQuorum has to be a non-negative number and not greater than 50", + ASSERT_EQUALS("commitQuorum has to be a non-negative number and not greater than 7", status.reason()); } diff --git a/src/mongo/db/repl/repl_set_config.cpp b/src/mongo/db/repl/repl_set_config.cpp index 4fe8129adc5..25d57b0248a 100644 --- a/src/mongo/db/repl/repl_set_config.cpp +++ b/src/mongo/db/repl/repl_set_config.cpp @@ -52,7 +52,6 @@ namespace repl { // Allow the heartbeat interval to be forcibly overridden on this node. MONGO_FAIL_POINT_DEFINE(forceHeartbeatIntervalMS); -const size_t ReplSetConfig::kMaxVotingMembers; const Milliseconds ReplSetConfig::kInfiniteCatchUpTimeout(-1); const Milliseconds ReplSetConfig::kCatchUpDisabled(0); const Milliseconds ReplSetConfig::kCatchUpTakeoverDisabled(-1); diff --git a/src/mongo/db/repl/repl_set_config.h b/src/mongo/db/repl/repl_set_config.h index 371e353ed59..0f2706bc830 100644 --- a/src/mongo/db/repl/repl_set_config.h +++ b/src/mongo/db/repl/repl_set_config.h @@ -164,11 +164,11 @@ public: using ReplSetConfigBase::kRepairedFieldName; /** - * Inline `kMaxMembers` to allow others (e.g, `WriteConcernOptions`) use + * Inline `kMaxMembers` and `kMaxVotingMembers` to allow others (e.g, `WriteConcernOptions`) use * the constant without linking to `repl_set_config.cpp`. */ inline static const size_t kMaxMembers = 50; - static const size_t kMaxVotingMembers = 7; + inline static const size_t kMaxVotingMembers = 7; static const Milliseconds kInfiniteCatchUpTimeout; static const Milliseconds kCatchUpDisabled; static const Milliseconds kCatchUpTakeoverDisabled; -- cgit v1.2.1