summaryrefslogtreecommitdiff
path: root/src/mongo/s/sharding_task_executor.cpp
diff options
context:
space:
mode:
authorJason Carey <jcarey@argv.me>2018-03-21 00:15:35 -0400
committerJason Carey <jcarey@argv.me>2018-04-27 19:49:28 -0400
commit4ddf18bcf4d517c3dc0f005f9222ffaab9a86ffa (patch)
tree438865c1065d0a96c427b1ed3a89e5163d85699a /src/mongo/s/sharding_task_executor.cpp
parent91eaa878c4feeebd9397c49180631fc719238aaf (diff)
downloadmongo-4ddf18bcf4d517c3dc0f005f9222ffaab9a86ffa.tar.gz
SERVER-34739 Migrate to 1 connpool in ARS
Migrate to 1 connection pool in mongos. This change involves the introduction of a transport layer baton, which improves perf for a particular transport layer when doing local scatter/gather operations.
Diffstat (limited to 'src/mongo/s/sharding_task_executor.cpp')
-rw-r--r--src/mongo/s/sharding_task_executor.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mongo/s/sharding_task_executor.cpp b/src/mongo/s/sharding_task_executor.cpp
index ee15fdf3a6b..e7401272645 100644
--- a/src/mongo/s/sharding_task_executor.cpp
+++ b/src/mongo/s/sharding_task_executor.cpp
@@ -111,11 +111,13 @@ StatusWith<TaskExecutor::CallbackHandle> ShardingTaskExecutor::scheduleWorkAt(
}
StatusWith<TaskExecutor::CallbackHandle> ShardingTaskExecutor::scheduleRemoteCommand(
- const RemoteCommandRequest& request, const RemoteCommandCallbackFn& cb) {
+ const RemoteCommandRequest& request,
+ const RemoteCommandCallbackFn& cb,
+ const transport::BatonHandle& baton) {
// schedule the user's callback if there is not opCtx
if (!request.opCtx) {
- return _executor->scheduleRemoteCommand(request, cb);
+ return _executor->scheduleRemoteCommand(request, cb, baton);
}
boost::optional<RemoteCommandRequest> newRequest;
@@ -201,7 +203,7 @@ StatusWith<TaskExecutor::CallbackHandle> ShardingTaskExecutor::scheduleRemoteCom
}
};
- return _executor->scheduleRemoteCommand(newRequest ? *newRequest : request, shardingCb);
+ return _executor->scheduleRemoteCommand(newRequest ? *newRequest : request, shardingCb, baton);
}
void ShardingTaskExecutor::cancel(const CallbackHandle& cbHandle) {