summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJudah Schvimer <judah@mongodb.com>2016-04-22 13:16:33 -0400
committerJudah Schvimer <judah@mongodb.com>2016-04-22 13:16:33 -0400
commitffbd2dfcd07a29c5cfb3d087ccfb33cfbc315d07 (patch)
tree57d3f289944f83be38e1d23b08e52e0eb4d582e7
parentfe84406d22bec76ea93220272f1381220adea240 (diff)
downloadmongo-ffbd2dfcd07a29c5cfb3d087ccfb33cfbc315d07.tar.gz
SERVER-23785 create WriteConcernError error class
-rw-r--r--src/mongo/base/error_codes.err4
-rw-r--r--src/mongo/s/client/shard_registry.cpp6
-rw-r--r--src/mongo/s/client/shard_registry.h5
-rw-r--r--src/mongo/s/commands/cluster_user_management_commands.cpp2
4 files changed, 5 insertions, 12 deletions
diff --git a/src/mongo/base/error_codes.err b/src/mongo/base/error_codes.err
index 67d0f4af107..a5958f5b256 100644
--- a/src/mongo/base/error_codes.err
+++ b/src/mongo/base/error_codes.err
@@ -185,3 +185,7 @@ error_class("Interruption", ["Interrupted",
error_class("NotMasterError", ["NotMaster", "NotMasterNoSlaveOk"])
error_class("StaleShardingError",
["RecvStaleConfig", "SendStaleConfig", "StaleShardVersion", "StaleEpoch"])
+error_class("WriteConcernError", ["WriteConcernFailed",
+ "WriteConcernLegacyOK",
+ "UnknownReplWriteConcern",
+ "CannotSatisfyWriteConcern"])
diff --git a/src/mongo/s/client/shard_registry.cpp b/src/mongo/s/client/shard_registry.cpp
index 82add8b4163..99aa04aa584 100644
--- a/src/mongo/s/client/shard_registry.cpp
+++ b/src/mongo/s/client/shard_registry.cpp
@@ -172,12 +172,6 @@ const ShardRegistry::ErrorCodesSet ShardRegistry::kAllRetriableErrors{
ErrorCodes::NetworkTimeout,
ErrorCodes::InterruptedDueToReplStateChange};
-const ShardRegistry::ErrorCodesSet ShardRegistry::kWriteConcernErrors{
- ErrorCodes::WriteConcernFailed,
- ErrorCodes::WriteConcernLegacyOK,
- ErrorCodes::UnknownReplWriteConcern,
- ErrorCodes::CannotSatisfyWriteConcern};
-
ShardRegistry::ShardRegistry(std::unique_ptr<ShardFactory> shardFactory,
ConnectionString configServerCS)
: _shardFactory(std::move(shardFactory)) {
diff --git a/src/mongo/s/client/shard_registry.h b/src/mongo/s/client/shard_registry.h
index a76fe1c93f4..e3adca13e32 100644
--- a/src/mongo/s/client/shard_registry.h
+++ b/src/mongo/s/client/shard_registry.h
@@ -263,11 +263,6 @@ public:
*/
static const ErrorCodesSet kAllRetriableErrors;
- /**
- * Set of error codes that specify write concern related errors.
- */
- static const ErrorCodesSet kWriteConcernErrors;
-
private:
using ShardMap = std::unordered_map<ShardId, std::shared_ptr<Shard>>;
diff --git a/src/mongo/s/commands/cluster_user_management_commands.cpp b/src/mongo/s/commands/cluster_user_management_commands.cpp
index ecff2fa2005..8f27127a305 100644
--- a/src/mongo/s/commands/cluster_user_management_commands.cpp
+++ b/src/mongo/s/commands/cluster_user_management_commands.cpp
@@ -929,7 +929,7 @@ public:
if (!status.isOK()) {
// If the status is a write concern error, append a writeConcernError instead of
// and error message.
- if (ShardRegistry::kWriteConcernErrors.count(status.code())) {
+ if (ErrorCodes::isWriteConcernError(status.code())) {
WCErrorDetail wcError;
wcError.setErrMessage(status.reason());
wcError.setErrCode(status.code());