summaryrefslogtreecommitdiff
path: root/src/mongo/s/chunk_version.cpp
diff options
context:
space:
mode:
authorSpencer T Brody <spencer@mongodb.com>2015-09-18 15:53:41 -0400
committerSpencer T Brody <spencer@mongodb.com>2015-09-24 13:36:59 -0400
commit03c414e87e5c3bc34230421163cdd06c9451389d (patch)
tree1fc24482ada7905ee380a2c0fd1c58a7fb89ed78 /src/mongo/s/chunk_version.cpp
parent3a7b1a9800f75706f35a290a8dee198bb29e3366 (diff)
downloadmongo-03c414e87e5c3bc34230421163cdd06c9451389d.tar.gz
SERVER-20498 Send config server optime to shards automatically on all commands via the OP_COMMAND metadata
Diffstat (limited to 'src/mongo/s/chunk_version.cpp')
-rw-r--r--src/mongo/s/chunk_version.cpp58
1 files changed, 4 insertions, 54 deletions
diff --git a/src/mongo/s/chunk_version.cpp b/src/mongo/s/chunk_version.cpp
index 36f85b2e1b5..2006071760c 100644
--- a/src/mongo/s/chunk_version.cpp
+++ b/src/mongo/s/chunk_version.cpp
@@ -34,7 +34,6 @@
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/base/status_with.h"
#include "mongo/bson/util/bson_extract.h"
-#include "mongo/rpc/metadata/config_server_request_metadata.h"
#include "mongo/util/mongoutils/str.h"
namespace mongo {
@@ -97,61 +96,12 @@ StatusWith<ChunkVersion> ChunkVersion::parseFromBSONForSetShardVersion(const BSO
return chunkVersion;
}
-
-ChunkVersionAndOpTime::ChunkVersionAndOpTime(ChunkVersion chunkVersion)
- : _verAndOpT(chunkVersion) {}
-
-ChunkVersionAndOpTime::ChunkVersionAndOpTime(ChunkVersion chunkVersion, repl::OpTime ts)
- : _verAndOpT(chunkVersion, ts) {}
-
-StatusWith<ChunkVersionAndOpTime> ChunkVersionAndOpTime::parseFromBSONForCommands(
- const BSONObj& obj) {
- const auto chunkVersionStatus = ChunkVersion::parseFromBSONForCommands(obj);
- if (!chunkVersionStatus.isOK())
- return chunkVersionStatus.getStatus();
-
- const ChunkVersion& chunkVersion = chunkVersionStatus.getValue();
-
- const auto requestMetadataStatus = rpc::ConfigServerRequestMetadata::readFromCommand(obj);
- if (!requestMetadataStatus.isOK()) {
- return requestMetadataStatus.getStatus();
- }
- auto opTime = requestMetadataStatus.getValue().getOpTime();
- if (opTime.is_initialized()) {
- return ChunkVersionAndOpTime(chunkVersion, opTime.get());
- } else {
- return ChunkVersionAndOpTime(chunkVersion);
- }
-}
-
-StatusWith<ChunkVersionAndOpTime> ChunkVersionAndOpTime::parseFromBSONForSetShardVersion(
- const BSONObj& obj) {
- const auto chunkVersionStatus = ChunkVersion::parseFromBSONForSetShardVersion(obj);
- if (!chunkVersionStatus.isOK())
- return chunkVersionStatus.getStatus();
-
- const ChunkVersion& chunkVersion = chunkVersionStatus.getValue();
-
- const auto requestMetadataStatus = rpc::ConfigServerRequestMetadata::readFromCommand(obj);
- if (!requestMetadataStatus.isOK()) {
- return requestMetadataStatus.getStatus();
- }
- auto opTime = requestMetadataStatus.getValue().getOpTime();
- if (opTime.is_initialized()) {
- return ChunkVersionAndOpTime(chunkVersion, opTime.get());
- } else {
- return ChunkVersionAndOpTime(chunkVersion);
- }
-}
-
-void ChunkVersionAndOpTime::appendForSetShardVersion(BSONObjBuilder* builder) const {
- _verAndOpT.value.addToBSON(*builder, kVersion);
- rpc::ConfigServerRequestMetadata(_verAndOpT.opTime).writeToCommand(builder);
+void ChunkVersion::appendForSetShardVersion(BSONObjBuilder* builder) const {
+ addToBSON(*builder, kVersion);
}
-void ChunkVersionAndOpTime::appendForCommands(BSONObjBuilder* builder) const {
- builder->appendArray(kShardVersion, _verAndOpT.value.toBSON());
- rpc::ConfigServerRequestMetadata(_verAndOpT.opTime).writeToCommand(builder);
+void ChunkVersion::appendForCommands(BSONObjBuilder* builder) const {
+ builder->appendArray(kShardVersion, toBSON());
}
} // namespace mongo