diff options
author | Judah Schvimer <judah@mongodb.com> | 2016-04-22 13:16:33 -0400 |
---|---|---|
committer | Judah Schvimer <judah@mongodb.com> | 2016-04-22 13:16:33 -0400 |
commit | ffbd2dfcd07a29c5cfb3d087ccfb33cfbc315d07 (patch) | |
tree | 57d3f289944f83be38e1d23b08e52e0eb4d582e7 | |
parent | fe84406d22bec76ea93220272f1381220adea240 (diff) | |
download | mongo-ffbd2dfcd07a29c5cfb3d087ccfb33cfbc315d07.tar.gz |
SERVER-23785 create WriteConcernError error class
-rw-r--r-- | src/mongo/base/error_codes.err | 4 | ||||
-rw-r--r-- | src/mongo/s/client/shard_registry.cpp | 6 | ||||
-rw-r--r-- | src/mongo/s/client/shard_registry.h | 5 | ||||
-rw-r--r-- | src/mongo/s/commands/cluster_user_management_commands.cpp | 2 |
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()); |