summaryrefslogtreecommitdiff
path: root/src/mongo/s
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2018-07-25 17:33:21 -0400
committerMathias Stearn <mathias@10gen.com>2018-07-30 14:13:08 -0400
commita5f3bf878d5059215fbc5a5a371aaf2d8a85e8b9 (patch)
tree86baac1bd319bbe02ca31c2404d0b631ff5a25ad /src/mongo/s
parentcca8ad6cf6f47e86158a8636b6a07743bd115fcc (diff)
downloadmongo-a5f3bf878d5059215fbc5a5a371aaf2d8a85e8b9.tar.gz
SERVER-33135 Remove metadata accessors from command reply APIs
Now that OP_COMMAND is dead, all remaining implementations return the same BSONObj for data and metadata.
Diffstat (limited to 'src/mongo/s')
-rw-r--r--src/mongo/s/client/rs_local_client.cpp1
-rw-r--r--src/mongo/s/client/shard.h3
-rw-r--r--src/mongo/s/client/shard_remote.cpp1
-rw-r--r--src/mongo/s/client/shard_remote_test.cpp7
-rw-r--r--src/mongo/s/cluster_last_error_info_test.cpp20
-rw-r--r--src/mongo/s/commands/cluster_multicast.cpp1
-rw-r--r--src/mongo/s/commands/strategy.cpp1
-rw-r--r--src/mongo/s/query/async_results_merger_test.cpp2
-rw-r--r--src/mongo/s/sharding_task_executor.cpp5
9 files changed, 16 insertions, 25 deletions
diff --git a/src/mongo/s/client/rs_local_client.cpp b/src/mongo/s/client/rs_local_client.cpp
index a4cf1810b3d..21888c8fc1c 100644
--- a/src/mongo/s/client/rs_local_client.cpp
+++ b/src/mongo/s/client/rs_local_client.cpp
@@ -87,7 +87,6 @@ StatusWith<Shard::CommandResponse> RSLocalClient::runCommandOnce(OperationContex
auto result = commandResponse->getCommandReply().getOwned();
return Shard::CommandResponse(boost::none,
result,
- commandResponse->getMetadata().getOwned(),
getStatusFromCommandResult(result),
getWriteConcernStatusFromCommandResult(result));
} catch (const DBException& ex) {
diff --git a/src/mongo/s/client/shard.h b/src/mongo/s/client/shard.h
index ead66c59fa5..a90d1160c0f 100644
--- a/src/mongo/s/client/shard.h
+++ b/src/mongo/s/client/shard.h
@@ -56,12 +56,10 @@ public:
struct CommandResponse {
CommandResponse(boost::optional<HostAndPort> hostAndPort,
BSONObj response,
- BSONObj metadata,
Status commandStatus,
Status writeConcernStatus)
: hostAndPort(std::move(hostAndPort)),
response(std::move(response)),
- metadata(std::move(metadata)),
commandStatus(std::move(commandStatus)),
writeConcernStatus(std::move(writeConcernStatus)) {}
@@ -79,7 +77,6 @@ public:
boost::optional<HostAndPort> hostAndPort;
BSONObj response;
- BSONObj metadata;
Status commandStatus;
Status writeConcernStatus;
};
diff --git a/src/mongo/s/client/shard_remote.cpp b/src/mongo/s/client/shard_remote.cpp
index e6a67f8b83c..e8ea73f9225 100644
--- a/src/mongo/s/client/shard_remote.cpp
+++ b/src/mongo/s/client/shard_remote.cpp
@@ -244,7 +244,6 @@ StatusWith<Shard::CommandResponse> ShardRemote::_runCommand(OperationContext* op
return Shard::CommandResponse(std::move(host),
std::move(result),
- response.metadata.getOwned(),
std::move(commandStatus),
std::move(writeConcernStatus));
}
diff --git a/src/mongo/s/client/shard_remote_test.cpp b/src/mongo/s/client/shard_remote_test.cpp
index fe53c03dcc4..9503ecdc5d9 100644
--- a/src/mongo/s/client/shard_remote_test.cpp
+++ b/src/mongo/s/client/shard_remote_test.cpp
@@ -184,10 +184,11 @@ TEST_F(ShardRemoteTest, ScatterGatherRepliesWithLastCommittedOpTime) {
onCommandWithMetadata([&](const executor::RemoteCommandRequest& request) {
std::vector<BSONObj> batch = {BSON("_id" << 1)};
CursorResponse cursorResponse(nss, CursorId(123), batch);
- auto result = cursorResponse.toBSON(CursorResponse::ResponseType::InitialResponse);
+ auto result = BSONObjBuilder(
+ cursorResponse.toBSON(CursorResponse::ResponseType::InitialResponse));
+ result.appendElements(makeLastCommittedOpTimeMetadata(expectedTime));
- return executor::RemoteCommandResponse(
- result, makeLastCommittedOpTimeMetadata(expectedTime), Milliseconds(1));
+ return executor::RemoteCommandResponse(result.obj(), Milliseconds(1));
});
}
diff --git a/src/mongo/s/cluster_last_error_info_test.cpp b/src/mongo/s/cluster_last_error_info_test.cpp
index b9903192581..1de77def4b9 100644
--- a/src/mongo/s/cluster_last_error_info_test.cpp
+++ b/src/mongo/s/cluster_last_error_info_test.cpp
@@ -84,11 +84,10 @@ TEST_F(ClusterGetLastErrorTest,
// Make the reply contain ShardingMetadata.
repl::OpTime opTime{Timestamp{10, 10}, 10};
onCommandWithMetadata([&](const RemoteCommandRequest& request) {
- BSONObjBuilder metadataBob;
- rpc::ShardingMetadata(opTime, OID() /* ignored OID field */)
- .writeToMetadata(&metadataBob)
- .transitional_ignore();
- return RemoteCommandResponse(BSON("ok" << 1), metadataBob.obj(), Milliseconds(1));
+ auto bob = BSONObjBuilder(BSON("ok" << 1));
+ uassertStatusOK(
+ rpc::ShardingMetadata(opTime, OID() /* ignored OID field */).writeToMetadata(&bob));
+ return RemoteCommandResponse(bob.obj(), Milliseconds(1));
});
future.timed_get(kFutureTimeout);
@@ -129,11 +128,10 @@ TEST_F(ClusterGetLastErrorTest, ClusterLastErrorInfoNotUpdatedIfNotInitialized)
// Make the reply contain ShardingMetadata.
repl::OpTime opTime{Timestamp{10, 10}, 10};
onCommandWithMetadata([&](const RemoteCommandRequest& request) {
- BSONObjBuilder metadataBob;
- rpc::ShardingMetadata(opTime, OID() /* ignored OID field */)
- .writeToMetadata(&metadataBob)
- .transitional_ignore();
- return RemoteCommandResponse(BSON("ok" << 1), metadataBob.obj(), Milliseconds(1));
+ auto bob = BSONObjBuilder(BSON("ok" << 1));
+ uassertStatusOK(
+ rpc::ShardingMetadata(opTime, OID() /* ignored OID field */).writeToMetadata(&bob));
+ return RemoteCommandResponse(bob.obj(), Milliseconds(1));
});
future.timed_get(kFutureTimeout);
@@ -174,7 +172,7 @@ TEST_F(ClusterGetLastErrorTest, ClusterLastErrorInfoNotUpdatedIfReplyDoesntHaveS
// Do not return ShardingMetadata in the reply.
repl::OpTime opTime{Timestamp{10, 10}, 10};
onCommandWithMetadata([&](const RemoteCommandRequest& request) {
- return RemoteCommandResponse(BSON("ok" << 1), BSONObj(), Milliseconds(1));
+ return RemoteCommandResponse(BSON("ok" << 1), Milliseconds(1));
});
future.timed_get(kFutureTimeout);
diff --git a/src/mongo/s/commands/cluster_multicast.cpp b/src/mongo/s/commands/cluster_multicast.cpp
index d1fcd3cc729..4585a3f8e01 100644
--- a/src/mongo/s/commands/cluster_multicast.cpp
+++ b/src/mongo/s/commands/cluster_multicast.cpp
@@ -134,7 +134,6 @@ public:
if (CommandHelpers::appendCommandStatusNoThrow(subbob, response.status)) {
subbob.append("data", response.data);
- subbob.append("metadata", response.metadata);
if (response.elapsedMillis) {
subbob.append("elapsedMillis", response.elapsedMillis->count());
}
diff --git a/src/mongo/s/commands/strategy.cpp b/src/mongo/s/commands/strategy.cpp
index 83e8ca526ae..850a9a61537 100644
--- a/src/mongo/s/commands/strategy.cpp
+++ b/src/mongo/s/commands/strategy.cpp
@@ -580,7 +580,6 @@ DbResponse Strategy::clientCommand(OperationContext* opCtx, const Message& m) {
return {}; // Don't reply.
}
- reply->setMetadata(BSONObj()); // mongos doesn't use metadata but the API requires this call.
return DbResponse{reply->done()};
}
diff --git a/src/mongo/s/query/async_results_merger_test.cpp b/src/mongo/s/query/async_results_merger_test.cpp
index 64428771bb0..7960d22f018 100644
--- a/src/mongo/s/query/async_results_merger_test.cpp
+++ b/src/mongo/s/query/async_results_merger_test.cpp
@@ -186,7 +186,7 @@ protected:
for (const auto& obj : objs) {
ASSERT_TRUE(net->hasReadyRequests());
Milliseconds millis(0);
- RemoteCommandResponse response(obj, BSONObj(), millis);
+ RemoteCommandResponse response(obj, millis);
executor::TaskExecutor::ResponseStatus responseStatus(response);
net->scheduleResponse(net->getNextReadyRequest(), net->now(), responseStatus);
}
diff --git a/src/mongo/s/sharding_task_executor.cpp b/src/mongo/s/sharding_task_executor.cpp
index 5b007cc44ec..2e84102ecc8 100644
--- a/src/mongo/s/sharding_task_executor.cpp
+++ b/src/mongo/s/sharding_task_executor.cpp
@@ -208,8 +208,7 @@ StatusWith<TaskExecutor::CallbackHandle> ShardingTaskExecutor::scheduleRemoteCom
// Update getLastError info for the client if we're tracking it.
if (clusterGLE) {
- auto swShardingMetadata =
- rpc::ShardingMetadata::readFromMetadata(args.response.metadata);
+ auto swShardingMetadata = rpc::ShardingMetadata::readFromMetadata(args.response.data);
if (swShardingMetadata.isOK()) {
auto shardingMetadata = std::move(swShardingMetadata.getValue());
@@ -224,7 +223,7 @@ StatusWith<TaskExecutor::CallbackHandle> ShardingTaskExecutor::scheduleRemoteCom
} else if (swShardingMetadata.getStatus() != ErrorCodes::NoSuchKey) {
warning() << "Got invalid sharding metadata "
<< redact(swShardingMetadata.getStatus()) << " metadata object was '"
- << redact(args.response.metadata) << "'";
+ << redact(args.response.data) << "'";
}
}
};