summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2016-05-09 15:02:55 -0400
committerKaloian Manassiev <kaloian.manassiev@mongodb.com>2016-05-10 10:00:49 -0400
commitb826e9a7e1bf00789b605c69bbac2ee4bd49fa63 (patch)
tree2dbe4274e87632d3c8d4bf1060dc8a2266d4b292
parent686bd5e0aba3716f093ee9b6f9d8c67f2faef3d9 (diff)
downloadmongo-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.
-rw-r--r--src/mongo/db/commands.cpp4
-rw-r--r--src/mongo/db/ops/write_ops_exec.cpp1
-rw-r--r--src/mongo/rpc/SConscript4
-rw-r--r--src/mongo/rpc/get_status_from_command_result.cpp4
-rw-r--r--src/mongo/rpc/write_concern_error_detail.cpp (renamed from src/mongo/s/write_ops/wc_error_detail.cpp)34
-rw-r--r--src/mongo/rpc/write_concern_error_detail.h (renamed from src/mongo/s/write_ops/wc_error_detail.h)8
-rw-r--r--src/mongo/s/catalog/replset/catalog_manager_replica_set_write_retry_test.cpp4
-rw-r--r--src/mongo/s/commands/cluster_find_and_modify_cmd.cpp1
-rw-r--r--src/mongo/s/commands/cluster_map_reduce_cmd.cpp1
-rw-r--r--src/mongo/s/commands/cluster_move_primary_cmd.cpp1
-rw-r--r--src/mongo/s/commands/cluster_pipeline_cmd.cpp1
-rw-r--r--src/mongo/s/commands/cluster_user_management_commands.cpp4
-rw-r--r--src/mongo/s/commands/run_on_all_shards_cmd.cpp1
-rw-r--r--src/mongo/s/commands/sharded_command_processing.cpp4
-rw-r--r--src/mongo/s/write_ops/SConscript3
-rw-r--r--src/mongo/s/write_ops/batch_downconvert.cpp8
-rw-r--r--src/mongo/s/write_ops/batch_downconvert.h2
-rw-r--r--src/mongo/s/write_ops/batch_write_op.cpp2
-rw-r--r--src/mongo/s/write_ops/batch_write_op.h7
-rw-r--r--src/mongo/s/write_ops/batch_write_op_test.cpp2
-rw-r--r--src/mongo/s/write_ops/batched_command_response.cpp13
-rw-r--r--src/mongo/s/write_ops/batched_command_response.h10
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