diff options
author | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2016-05-09 15:02:55 -0400 |
---|---|---|
committer | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2016-05-10 10:00:49 -0400 |
commit | b826e9a7e1bf00789b605c69bbac2ee4bd49fa63 (patch) | |
tree | 2dbe4274e87632d3c8d4bf1060dc8a2266d4b292 | |
parent | 686bd5e0aba3716f093ee9b6f9d8c67f2faef3d9 (diff) | |
download | mongo-b826e9a7e1bf00789b605c69bbac2ee4bd49fa63.tar.gz |
SERVER-24111 Move WriteConcernErrorDetail under mongo/rpc
This change moves WCErrorDetail under mongo/rpc and renames it to be more
descriptive and named WriteConcernErrorDetail.
22 files changed, 58 insertions, 61 deletions
diff --git a/src/mongo/db/commands.cpp b/src/mongo/db/commands.cpp index 4780c84f7a3..1f59a884410 100644 --- a/src/mongo/db/commands.cpp +++ b/src/mongo/db/commands.cpp @@ -48,8 +48,8 @@ #include "mongo/db/namespace_string.h" #include "mongo/db/server_parameters.h" #include "mongo/rpc/metadata.h" +#include "mongo/rpc/write_concern_error_detail.h" #include "mongo/s/stale_exception.h" -#include "mongo/s/write_ops/wc_error_detail.h" #include "mongo/util/log.h" namespace mongo { @@ -190,7 +190,7 @@ void Command::appendCommandWCStatus(BSONObjBuilder& result, const Status& awaitReplicationStatus, const WriteConcernResult& wcResult) { if (!awaitReplicationStatus.isOK() && !result.hasField("writeConcernError")) { - WCErrorDetail wcError; + WriteConcernErrorDetail wcError; wcError.setErrCode(awaitReplicationStatus.code()); wcError.setErrMessage(awaitReplicationStatus.reason()); if (wcResult.wTimedOut) { diff --git a/src/mongo/db/ops/write_ops_exec.cpp b/src/mongo/db/ops/write_ops_exec.cpp index 72366ef131e..bca52a76c04 100644 --- a/src/mongo/db/ops/write_ops_exec.cpp +++ b/src/mongo/db/ops/write_ops_exec.cpp @@ -68,7 +68,6 @@ #include "mongo/rpc/command_request.h" #include "mongo/rpc/command_request_builder.h" #include "mongo/rpc/get_status_from_command_result.h" -#include "mongo/s/stale_exception.h" #include "mongo/stdx/memory.h" #include "mongo/util/log.h" #include "mongo/util/scopeguard.h" diff --git a/src/mongo/rpc/SConscript b/src/mongo/rpc/SConscript index 910c111da4b..5694d478352 100644 --- a/src/mongo/rpc/SConscript +++ b/src/mongo/rpc/SConscript @@ -8,10 +8,12 @@ env.Library( ], source=[ 'get_status_from_command_result.cpp', + 'write_concern_error_detail.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', - '$BUILD_DIR/mongo/s/write_ops/batch_write_types', + '$BUILD_DIR/mongo/bson/util/bson_extract', + '$BUILD_DIR/mongo/db/common', '$BUILD_DIR/mongo/util/foundation' ], ) diff --git a/src/mongo/rpc/get_status_from_command_result.cpp b/src/mongo/rpc/get_status_from_command_result.cpp index 483eb42f6bd..2b4adf94aae 100644 --- a/src/mongo/rpc/get_status_from_command_result.cpp +++ b/src/mongo/rpc/get_status_from_command_result.cpp @@ -33,7 +33,7 @@ #include "mongo/base/status.h" #include "mongo/bson/util/bson_extract.h" #include "mongo/db/jsobj.h" -#include "mongo/s/write_ops/wc_error_detail.h" +#include "mongo/rpc/write_concern_error_detail.h" #include "mongo/util/mongoutils/str.h" namespace mongo { @@ -91,7 +91,7 @@ Status getWriteConcernStatusFromCommandResult(const BSONObj& obj) { BSONObj wcErrObj(wcErrorElem.Obj()); - WCErrorDetail wcError; + WriteConcernErrorDetail wcError; std::string wcErrorParseMsg; if (!wcError.parseBSON(wcErrObj, &wcErrorParseMsg)) { return Status(ErrorCodes::UnsupportedFormat, diff --git a/src/mongo/s/write_ops/wc_error_detail.cpp b/src/mongo/rpc/write_concern_error_detail.cpp index e36aaed3d09..fcad013be5e 100644 --- a/src/mongo/s/write_ops/wc_error_detail.cpp +++ b/src/mongo/rpc/write_concern_error_detail.cpp @@ -28,7 +28,7 @@ #include "mongo/platform/basic.h" -#include "mongo/s/write_ops/wc_error_detail.h" +#include "mongo/rpc/write_concern_error_detail.h" #include "mongo/db/field_parser.h" #include "mongo/util/mongoutils/str.h" @@ -45,11 +45,11 @@ const BSONField<string> errMessage("errmsg"); } // namespace -WCErrorDetail::WCErrorDetail() { +WriteConcernErrorDetail::WriteConcernErrorDetail() { clear(); } -bool WCErrorDetail::isValid(string* errMsg) const { +bool WriteConcernErrorDetail::isValid(string* errMsg) const { string dummy; if (errMsg == NULL) { errMsg = &dummy; @@ -64,7 +64,7 @@ bool WCErrorDetail::isValid(string* errMsg) const { return true; } -BSONObj WCErrorDetail::toBSON() const { +BSONObj WriteConcernErrorDetail::toBSON() const { BSONObjBuilder builder; if (_isErrCodeSet) @@ -79,7 +79,7 @@ BSONObj WCErrorDetail::toBSON() const { return builder.obj(); } -bool WCErrorDetail::parseBSON(const BSONObj& source, string* errMsg) { +bool WriteConcernErrorDetail::parseBSON(const BSONObj& source, string* errMsg) { clear(); string dummy; @@ -109,7 +109,7 @@ bool WCErrorDetail::parseBSON(const BSONObj& source, string* errMsg) { return true; } -void WCErrorDetail::clear() { +void WriteConcernErrorDetail::clear() { _errCode = ErrorCodes::OK; _isErrCodeSet = false; @@ -120,7 +120,7 @@ void WCErrorDetail::clear() { _isErrMessageSet = false; } -void WCErrorDetail::cloneTo(WCErrorDetail* other) const { +void WriteConcernErrorDetail::cloneTo(WriteConcernErrorDetail* other) const { other->clear(); other->_errCode = _errCode; @@ -133,13 +133,13 @@ void WCErrorDetail::cloneTo(WCErrorDetail* other) const { other->_isErrMessageSet = _isErrMessageSet; } -string WCErrorDetail::toString() const { +string WriteConcernErrorDetail::toString() const { return str::stream() << (_isErrCodeSet ? ErrorCodes::errorString(_errCode) : "<no code>") << ": " << (_isErrMessageSet ? _errMessage : "") << ". Error details: " << (_isErrInfoSet ? _errInfo.toString() : "<none>"); } -Status WCErrorDetail::toStatus() const { +Status WriteConcernErrorDetail::toStatus() const { str::stream ss; if (_isErrMessageSet) { ss << _errMessage << ". "; @@ -151,40 +151,40 @@ Status WCErrorDetail::toStatus() const { return Status((_isErrCodeSet ? _errCode : ErrorCodes::UnknownError), ss); } -void WCErrorDetail::setErrCode(ErrorCodes::Error code) { +void WriteConcernErrorDetail::setErrCode(ErrorCodes::Error code) { _errCode = code; _isErrCodeSet = true; } -ErrorCodes::Error WCErrorDetail::getErrCode() const { +ErrorCodes::Error WriteConcernErrorDetail::getErrCode() const { dassert(_isErrCodeSet); return _errCode; } -void WCErrorDetail::setErrInfo(const BSONObj& errInfo) { +void WriteConcernErrorDetail::setErrInfo(const BSONObj& errInfo) { _errInfo = errInfo.getOwned(); _isErrInfoSet = true; } -bool WCErrorDetail::isErrInfoSet() const { +bool WriteConcernErrorDetail::isErrInfoSet() const { return _isErrInfoSet; } -const BSONObj& WCErrorDetail::getErrInfo() const { +const BSONObj& WriteConcernErrorDetail::getErrInfo() const { dassert(_isErrInfoSet); return _errInfo; } -void WCErrorDetail::setErrMessage(StringData errMessage) { +void WriteConcernErrorDetail::setErrMessage(StringData errMessage) { _errMessage = errMessage.toString(); _isErrMessageSet = true; } -bool WCErrorDetail::isErrMessageSet() const { +bool WriteConcernErrorDetail::isErrMessageSet() const { return _isErrMessageSet; } -const string& WCErrorDetail::getErrMessage() const { +const string& WriteConcernErrorDetail::getErrMessage() const { dassert(_isErrMessageSet); return _errMessage; } diff --git a/src/mongo/s/write_ops/wc_error_detail.h b/src/mongo/rpc/write_concern_error_detail.h index 9ceb9155b46..23e8d4ad0a3 100644 --- a/src/mongo/s/write_ops/wc_error_detail.h +++ b/src/mongo/rpc/write_concern_error_detail.h @@ -40,14 +40,14 @@ namespace mongo { * This class represents the layout and content of the error that occurs while trying * to satisfy the write concern after executing runCommand. */ -class WCErrorDetail { - MONGO_DISALLOW_COPYING(WCErrorDetail); +class WriteConcernErrorDetail { + MONGO_DISALLOW_COPYING(WriteConcernErrorDetail); public: - WCErrorDetail(); + WriteConcernErrorDetail(); /** Copies all the fields present in 'this' to 'other'. */ - void cloneTo(WCErrorDetail* other) const; + void cloneTo(WriteConcernErrorDetail* other) const; // // bson serializable interface implementation diff --git a/src/mongo/s/catalog/replset/catalog_manager_replica_set_write_retry_test.cpp b/src/mongo/s/catalog/replset/catalog_manager_replica_set_write_retry_test.cpp index f41aaf08c68..bccc5e3cce5 100644 --- a/src/mongo/s/catalog/replset/catalog_manager_replica_set_write_retry_test.cpp +++ b/src/mongo/s/catalog/replset/catalog_manager_replica_set_write_retry_test.cpp @@ -268,7 +268,7 @@ TEST_F(InsertRetryTest, DuplicateKeyErrorAfterWriteConcernFailureMatch) { response.setOk(true); response.setN(1); - auto wcError = stdx::make_unique<WCErrorDetail>(); + auto wcError = stdx::make_unique<WriteConcernErrorDetail>(); WriteConcernResult wcRes; wcRes.err = "timeout"; @@ -372,7 +372,7 @@ TEST_F(UpdateRetryTest, WriteConcernFailure) { response.setOk(true); response.setNModified(1); - auto wcError = stdx::make_unique<WCErrorDetail>(); + auto wcError = stdx::make_unique<WriteConcernErrorDetail>(); WriteConcernResult wcRes; wcRes.err = "timeout"; diff --git a/src/mongo/s/commands/cluster_find_and_modify_cmd.cpp b/src/mongo/s/commands/cluster_find_and_modify_cmd.cpp index 6f24f34540d..c4c185e116e 100644 --- a/src/mongo/s/commands/cluster_find_and_modify_cmd.cpp +++ b/src/mongo/s/commands/cluster_find_and_modify_cmd.cpp @@ -48,7 +48,6 @@ #include "mongo/s/sharding_raii.h" #include "mongo/s/stale_exception.h" #include "mongo/s/commands/strategy.h" -#include "mongo/s/write_ops/wc_error_detail.h" #include "mongo/util/timer.h" namespace mongo { diff --git a/src/mongo/s/commands/cluster_map_reduce_cmd.cpp b/src/mongo/s/commands/cluster_map_reduce_cmd.cpp index b5bb4615b75..c8b2611da29 100644 --- a/src/mongo/s/commands/cluster_map_reduce_cmd.cpp +++ b/src/mongo/s/commands/cluster_map_reduce_cmd.cpp @@ -52,7 +52,6 @@ #include "mongo/s/grid.h" #include "mongo/s/commands/strategy.h" #include "mongo/s/sharding_raii.h" -#include "mongo/s/write_ops/wc_error_detail.h" #include "mongo/stdx/chrono.h" #include "mongo/util/log.h" diff --git a/src/mongo/s/commands/cluster_move_primary_cmd.cpp b/src/mongo/s/commands/cluster_move_primary_cmd.cpp index 1de2564a2e1..5be8441a951 100644 --- a/src/mongo/s/commands/cluster_move_primary_cmd.cpp +++ b/src/mongo/s/commands/cluster_move_primary_cmd.cpp @@ -50,7 +50,6 @@ #include "mongo/s/config.h" #include "mongo/s/grid.h" #include "mongo/s/set_shard_version_request.h" -#include "mongo/s/write_ops/wc_error_detail.h" #include "mongo/util/log.h" namespace mongo { diff --git a/src/mongo/s/commands/cluster_pipeline_cmd.cpp b/src/mongo/s/commands/cluster_pipeline_cmd.cpp index 064019156de..dc332571d23 100644 --- a/src/mongo/s/commands/cluster_pipeline_cmd.cpp +++ b/src/mongo/s/commands/cluster_pipeline_cmd.cpp @@ -55,7 +55,6 @@ #include "mongo/s/grid.h" #include "mongo/s/query/store_possible_cursor.h" #include "mongo/s/stale_exception.h" -#include "mongo/s/write_ops/wc_error_detail.h" #include "mongo/util/log.h" namespace mongo { diff --git a/src/mongo/s/commands/cluster_user_management_commands.cpp b/src/mongo/s/commands/cluster_user_management_commands.cpp index 1e448a4689e..02a87dfc9d2 100644 --- a/src/mongo/s/commands/cluster_user_management_commands.cpp +++ b/src/mongo/s/commands/cluster_user_management_commands.cpp @@ -41,12 +41,12 @@ #include "mongo/config.h" #include "mongo/db/commands.h" #include "mongo/db/jsobj.h" +#include "mongo/rpc/write_concern_error_detail.h" #include "mongo/s/catalog/catalog_manager.h" #include "mongo/s/catalog/type_shard.h" #include "mongo/s/client/shard_registry.h" #include "mongo/s/commands/sharded_command_processing.h" #include "mongo/s/grid.h" -#include "mongo/s/write_ops/wc_error_detail.h" namespace mongo { @@ -935,7 +935,7 @@ public: // If the status is a write concern error, append a writeConcernError instead of // and error message. if (ErrorCodes::isWriteConcernError(status.code())) { - WCErrorDetail wcError; + WriteConcernErrorDetail wcError; wcError.setErrMessage(status.reason()); wcError.setErrCode(status.code()); result.append("writeConcernError", wcError.toBSON()); diff --git a/src/mongo/s/commands/run_on_all_shards_cmd.cpp b/src/mongo/s/commands/run_on_all_shards_cmd.cpp index 6966fc84ec1..5e273e159ea 100644 --- a/src/mongo/s/commands/run_on_all_shards_cmd.cpp +++ b/src/mongo/s/commands/run_on_all_shards_cmd.cpp @@ -42,7 +42,6 @@ #include "mongo/s/commands/sharded_command_processing.h" #include "mongo/s/grid.h" #include "mongo/s/sharding_raii.h" -#include "mongo/s/write_ops/wc_error_detail.h" #include "mongo/util/log.h" namespace mongo { diff --git a/src/mongo/s/commands/sharded_command_processing.cpp b/src/mongo/s/commands/sharded_command_processing.cpp index 04da3cc6d4e..f873a4e0265 100644 --- a/src/mongo/s/commands/sharded_command_processing.cpp +++ b/src/mongo/s/commands/sharded_command_processing.cpp @@ -30,14 +30,14 @@ #include "mongo/s/commands/sharded_command_processing.h" -#include "mongo/s/write_ops/wc_error_detail.h" +#include "mongo/rpc/write_concern_error_detail.h" namespace mongo { void appendWriteConcernErrorToCmdResponse(const std::string& shardID, const BSONElement& wcErrorElem, BSONObjBuilder& responseBuilder) { - WCErrorDetail wcError; + WriteConcernErrorDetail wcError; std::string errMsg; auto wcErrorObj = wcErrorElem.Obj(); if (!wcError.parseBSON(wcErrorObj, &errMsg)) { diff --git a/src/mongo/s/write_ops/SConscript b/src/mongo/s/write_ops/SConscript index 92e3427e873..7efcb12e935 100644 --- a/src/mongo/s/write_ops/SConscript +++ b/src/mongo/s/write_ops/SConscript @@ -13,14 +13,13 @@ env.Library( 'batched_update_request.cpp',
'batched_update_document.cpp',
'batched_upsert_detail.cpp',
- 'wc_error_detail.cpp',
'write_error_detail.cpp',
],
LIBDEPS=[
'$BUILD_DIR/mongo/base',
'$BUILD_DIR/mongo/db/common',
'$BUILD_DIR/mongo/db/repl/optime',
- '$BUILD_DIR/mongo/s/chunk_version',
+ '$BUILD_DIR/mongo/s/common',
],
)
diff --git a/src/mongo/s/write_ops/batch_downconvert.cpp b/src/mongo/s/write_ops/batch_downconvert.cpp index 3531ec34193..1ece78ecdd5 100644 --- a/src/mongo/s/write_ops/batch_downconvert.cpp +++ b/src/mongo/s/write_ops/batch_downconvert.cpp @@ -63,7 +63,7 @@ Status extractGLEErrors(const BSONObj& gleResponse, GLEErrors* errors) { if (err == "norepl" || err == "noreplset") { // Know this is legacy gle and the repl not enforced - write concern error in 2.4 - errors->wcError.reset(new WCErrorDetail); + errors->wcError.reset(new WriteConcernErrorDetail); errors->wcError->setErrCode(ErrorCodes::WriteConcernFailed); if (!errMsg.empty()) { errors->wcError->setErrMessage(errMsg); @@ -74,7 +74,7 @@ Status extractGLEErrors(const BSONObj& gleResponse, GLEErrors* errors) { } } else if (timeout) { // Know there was no write error - errors->wcError.reset(new WCErrorDetail); + errors->wcError.reset(new WriteConcernErrorDetail); errors->wcError->setErrCode(ErrorCodes::WriteConcernFailed); if (!errMsg.empty()) { errors->wcError->setErrMessage(errMsg); @@ -92,7 +92,7 @@ Status extractGLEErrors(const BSONObj& gleResponse, GLEErrors* errors) { code == ErrorCodes::NotMaster || code == ErrorCodes::UnknownReplWriteConcern || code == ErrorCodes::WriteConcernFailed) { // Write concern errors that get returned as regular errors (result may not be ok: 1.0) - errors->wcError.reset(new WCErrorDetail()); + errors->wcError.reset(new WriteConcernErrorDetail()); errors->wcError->setErrCode(ErrorCodes::fromInt(code)); errors->wcError->setErrMessage(errMsg); } else if (!isOK) { @@ -120,7 +120,7 @@ Status extractGLEErrors(const BSONObj& gleResponse, GLEErrors* errors) { errors->writeError->setErrMessage(err); } else if (!jNote.empty()) { // Know this is legacy gle and the journaling not enforced - write concern error in 2.4 - errors->wcError.reset(new WCErrorDetail); + errors->wcError.reset(new WriteConcernErrorDetail); errors->wcError->setErrCode(ErrorCodes::WriteConcernFailed); errors->wcError->setErrMessage(jNote); } diff --git a/src/mongo/s/write_ops/batch_downconvert.h b/src/mongo/s/write_ops/batch_downconvert.h index 46607aef1c0..76f87d93db1 100644 --- a/src/mongo/s/write_ops/batch_downconvert.h +++ b/src/mongo/s/write_ops/batch_downconvert.h @@ -70,7 +70,7 @@ Status enforceLegacyWriteConcern(MultiCommandDispatch* dispatcher, // Helper that acts as an auto-ptr for write and wc errors struct GLEErrors { std::unique_ptr<WriteErrorDetail> writeError; - std::unique_ptr<WCErrorDetail> wcError; + std::unique_ptr<WriteConcernErrorDetail> wcError; }; /** diff --git a/src/mongo/s/write_ops/batch_write_op.cpp b/src/mongo/s/write_ops/batch_write_op.cpp index 3acdabb664c..38adfd8aaad 100644 --- a/src/mongo/s/write_ops/batch_write_op.cpp +++ b/src/mongo/s/write_ops/batch_write_op.cpp @@ -745,7 +745,7 @@ void BatchWriteOp::buildClientResponse(BatchedCommandResponse* batchResp) { bool reportWCError = errOps.empty() || (!_clientRequest->getOrdered() && errOps.size() < _clientRequest->sizeWriteOps()); if (!_wcErrors.empty() && reportWCError) { - WCErrorDetail* error = new WCErrorDetail; + WriteConcernErrorDetail* error = new WriteConcernErrorDetail; // Generate the multi-error message below stringstream msg; diff --git a/src/mongo/s/write_ops/batch_write_op.h b/src/mongo/s/write_ops/batch_write_op.h index 2d50bd39ed5..030767851c3 100644 --- a/src/mongo/s/write_ops/batch_write_op.h +++ b/src/mongo/s/write_ops/batch_write_op.h @@ -35,10 +35,10 @@ #include "mongo/base/owned_pointer_vector.h" #include "mongo/base/status.h" #include "mongo/platform/unordered_map.h" +#include "mongo/rpc/write_concern_error_detail.h" #include "mongo/s/ns_targeter.h" #include "mongo/s/write_ops/batched_command_request.h" #include "mongo/s/write_ops/batched_command_response.h" -#include "mongo/s/write_ops/wc_error_detail.h" #include "mongo/s/write_ops/write_error_detail.h" #include "mongo/s/write_ops/write_op.h" @@ -257,12 +257,13 @@ struct ShardError { * Certain types of errors are not stored in WriteOps or must be returned to a caller. */ struct ShardWCError { - ShardWCError(const ShardEndpoint& endpoint, const WCErrorDetail& error) : endpoint(endpoint) { + ShardWCError(const ShardEndpoint& endpoint, const WriteConcernErrorDetail& error) + : endpoint(endpoint) { error.cloneTo(&this->error); } const ShardEndpoint endpoint; - WCErrorDetail error; + WriteConcernErrorDetail error; }; /** diff --git a/src/mongo/s/write_ops/batch_write_op_test.cpp b/src/mongo/s/write_ops/batch_write_op_test.cpp index 495b2ec22a0..62dbde7093b 100644 --- a/src/mongo/s/write_ops/batch_write_op_test.cpp +++ b/src/mongo/s/write_ops/batch_write_op_test.cpp @@ -123,7 +123,7 @@ void addError(int code, const string& message, int index, BatchedCommandResponse } void addWCError(BatchedCommandResponse* response) { - unique_ptr<WCErrorDetail> error(new WCErrorDetail); + unique_ptr<WriteConcernErrorDetail> error(new WriteConcernErrorDetail); error->setErrCode(ErrorCodes::WriteConcernFailed); error->setErrMessage("mock wc error"); diff --git a/src/mongo/s/write_ops/batched_command_response.cpp b/src/mongo/s/write_ops/batched_command_response.cpp index 99df0257309..9a835a1cf3f 100644 --- a/src/mongo/s/write_ops/batched_command_response.cpp +++ b/src/mongo/s/write_ops/batched_command_response.cpp @@ -51,7 +51,8 @@ const BSONField<std::vector<BatchedUpsertDetail*>> BatchedCommandResponse::upser "upserted"); const BSONField<OID> BatchedCommandResponse::electionId("electionId"); const BSONField<std::vector<WriteErrorDetail*>> BatchedCommandResponse::writeErrors("writeErrors"); -const BSONField<WCErrorDetail*> BatchedCommandResponse::writeConcernError("writeConcernError"); +const BSONField<WriteConcernErrorDetail*> BatchedCommandResponse::writeConcernError( + "writeConcernError"); BatchedCommandResponse::BatchedCommandResponse() { clear(); @@ -222,7 +223,7 @@ bool BatchedCommandResponse::parseBSON(const BSONObj& source, string* errMsg) { return false; _writeErrorDetails.reset(tempErrDetails); - WCErrorDetail* wcError = NULL; + WriteConcernErrorDetail* wcError = NULL; fieldState = FieldParser::extract(source, writeConcernError, &wcError, errMsg); if (fieldState == FieldParser::FIELD_INVALID) return false; @@ -327,7 +328,7 @@ void BatchedCommandResponse::cloneTo(BatchedCommandResponse* other) const { } if (_wcErrDetails.get()) { - other->_wcErrDetails.reset(new WCErrorDetail()); + other->_wcErrDetails.reset(new WriteConcernErrorDetail()); _wcErrDetails->cloneTo(other->_wcErrDetails.get()); } } @@ -558,7 +559,7 @@ const WriteErrorDetail* BatchedCommandResponse::getErrDetailsAt(size_t pos) cons return _writeErrorDetails->at(pos); } -void BatchedCommandResponse::setWriteConcernError(WCErrorDetail* error) { +void BatchedCommandResponse::setWriteConcernError(WriteConcernErrorDetail* error) { _wcErrDetails.reset(error); } @@ -570,7 +571,7 @@ bool BatchedCommandResponse::isWriteConcernErrorSet() const { return _wcErrDetails.get(); } -const WCErrorDetail* BatchedCommandResponse::getWriteConcernError() const { +const WriteConcernErrorDetail* BatchedCommandResponse::getWriteConcernError() const { return _wcErrDetails.get(); } @@ -586,7 +587,7 @@ Status BatchedCommandResponse::toStatus() const { } if (isWriteConcernErrorSet()) { - const WCErrorDetail* errDetail = getWriteConcernError(); + const WriteConcernErrorDetail* errDetail = getWriteConcernError(); return Status(ErrorCodes::fromInt(errDetail->getErrCode()), errDetail->getErrMessage()); } diff --git a/src/mongo/s/write_ops/batched_command_response.h b/src/mongo/s/write_ops/batched_command_response.h index e59c2c3ea05..6e22ae63cfe 100644 --- a/src/mongo/s/write_ops/batched_command_response.h +++ b/src/mongo/s/write_ops/batched_command_response.h @@ -34,10 +34,10 @@ #include "mongo/base/string_data.h" #include "mongo/db/jsobj.h" #include "mongo/db/repl/optime.h" +#include "mongo/rpc/write_concern_error_detail.h" #include "mongo/s/bson_serializable.h" #include "mongo/s/write_ops/write_error_detail.h" #include "mongo/s/write_ops/batched_upsert_detail.h" -#include "mongo/s/write_ops/wc_error_detail.h" namespace mongo { @@ -61,7 +61,7 @@ public: static const BSONField<std::vector<BatchedUpsertDetail*>> upsertDetails; static const BSONField<OID> electionId; static const BSONField<std::vector<WriteErrorDetail*>> writeErrors; - static const BSONField<WCErrorDetail*> writeConcernError; + static const BSONField<WriteConcernErrorDetail*> writeConcernError; // // construction / destruction @@ -136,10 +136,10 @@ public: const std::vector<WriteErrorDetail*>& getErrDetails() const; const WriteErrorDetail* getErrDetailsAt(std::size_t pos) const; - void setWriteConcernError(WCErrorDetail* error); + void setWriteConcernError(WriteConcernErrorDetail* error); void unsetWriteConcernError(); bool isWriteConcernErrorSet() const; - const WCErrorDetail* getWriteConcernError() const; + const WriteConcernErrorDetail* getWriteConcernError() const; /** * Converts the specified command response into a status, based on its contents. @@ -196,7 +196,7 @@ private: std::unique_ptr<std::vector<WriteErrorDetail*>> _writeErrorDetails; // (O) errors that occurred while trying to satisfy the write concern. - std::unique_ptr<WCErrorDetail> _wcErrDetails; + std::unique_ptr<WriteConcernErrorDetail> _wcErrDetails; }; } // namespace mongo |