summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/start_chunk_clone_request.cpp
diff options
context:
space:
mode:
authorDianna Hohensee <dianna.hohensee@10gen.com>2016-07-29 14:37:22 -0400
committerDianna Hohensee <dianna.hohensee@10gen.com>2016-08-24 11:48:59 -0400
commit3de973e1fd98473fbf1605e2d6039214aa15b2a4 (patch)
tree47df21978e84da9afc39140e325f630189fc4286 /src/mongo/db/s/start_chunk_clone_request.cpp
parent30e9b7dba2c530074f1758e43324d1c082ec45ce (diff)
downloadmongo-3de973e1fd98473fbf1605e2d6039214aa15b2a4.tar.gz
SERVER-22671 adding migration status to serverStatus' sharding section
Diffstat (limited to 'src/mongo/db/s/start_chunk_clone_request.cpp')
-rw-r--r--src/mongo/db/s/start_chunk_clone_request.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/mongo/db/s/start_chunk_clone_request.cpp b/src/mongo/db/s/start_chunk_clone_request.cpp
index 9aa27ba5fc9..757a818f66f 100644
--- a/src/mongo/db/s/start_chunk_clone_request.cpp
+++ b/src/mongo/db/s/start_chunk_clone_request.cpp
@@ -33,7 +33,6 @@
#include "mongo/base/status_with.h"
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/util/bson_extract.h"
-#include "mongo/s/shard_id.h"
namespace mongo {
namespace {
@@ -41,6 +40,7 @@ namespace {
const char kRecvChunkStart[] = "_recvChunkStart";
const char kConfigServerConnectionString[] = "configdb";
const char kFromShardConnectionString[] = "from";
+const char kFromShardId[] = "fromShardName";
const char kToShardId[] = "toShardName";
const char kChunkMinKey[] = "min";
const char kChunkMaxKey[] = "max";
@@ -104,7 +104,18 @@ StatusWith<StartChunkCloneRequest> StartChunkCloneRequest::createFromCommand(Nam
}
{
- Status status = bsonExtractStringField(obj, kToShardId, &request._toShardId);
+ std::string fromShard;
+ Status status = bsonExtractStringField(obj, kFromShardId, &fromShard);
+ request._fromShardId = fromShard;
+ if (!status.isOK()) {
+ return status;
+ }
+ }
+
+ {
+ std::string toShard;
+ Status status = bsonExtractStringField(obj, kToShardId, &toShard);
+ request._toShardId = toShard;
if (!status.isOK()) {
return status;
}
@@ -161,6 +172,7 @@ void StartChunkCloneRequest::appendAsCommand(
const MigrationSessionId& sessionId,
const ConnectionString& configServerConnectionString,
const ConnectionString& fromShardConnectionString,
+ const ShardId& fromShardId,
const ShardId& toShardId,
const BSONObj& chunkMinKey,
const BSONObj& chunkMaxKey,
@@ -174,6 +186,7 @@ void StartChunkCloneRequest::appendAsCommand(
sessionId.append(builder);
builder->append(kConfigServerConnectionString, configServerConnectionString.toString());
builder->append(kFromShardConnectionString, fromShardConnectionString.toString());
+ builder->append(kFromShardId, fromShardId.toString());
builder->append(kToShardId, toShardId.toString());
builder->append(kChunkMinKey, chunkMinKey);
builder->append(kChunkMaxKey, chunkMaxKey);