summaryrefslogtreecommitdiff
path: root/src/mongo/s/sharding_initialization.cpp
diff options
context:
space:
mode:
authorAnton Oyung <anton.oyung@mongodb.com>2019-11-19 18:31:44 +0000
committerevergreen <evergreen@mongodb.com>2019-11-19 18:31:44 +0000
commit0ccd538e9bb21e67cff1150af464318457132a3e (patch)
treef40744da74dc7b77e0e46063fb9be81bef295909 /src/mongo/s/sharding_initialization.cpp
parent542479adb86d90e80ce4faed167e6848d4107adf (diff)
downloadmongo-0ccd538e9bb21e67cff1150af464318457132a3e.tar.gz
SERVER-44626: Add new setParameter loadRoutingTableOnStartup
Diffstat (limited to 'src/mongo/s/sharding_initialization.cpp')
-rw-r--r--src/mongo/s/sharding_initialization.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mongo/s/sharding_initialization.cpp b/src/mongo/s/sharding_initialization.cpp
index f3598d797f3..733c0bcb3df 100644
--- a/src/mongo/s/sharding_initialization.cpp
+++ b/src/mongo/s/sharding_initialization.cpp
@@ -66,11 +66,11 @@
#include "mongo/s/client/sharding_network_connection_hook.h"
#include "mongo/s/cluster_identity_loader.h"
#include "mongo/s/grid.h"
-#include "mongo/s/pre_warm_connection_pool_impl.h"
#include "mongo/s/query/cluster_cursor_manager.h"
#include "mongo/s/sharding_task_executor.h"
#include "mongo/s/sharding_task_executor_pool_controller.h"
#include "mongo/s/sharding_task_executor_pool_gen.h"
+#include "mongo/s/warmup_server_parameters.h"
#include "mongo/stdx/thread.h"
#include "mongo/util/concurrency/thread_pool.h"
#include "mongo/util/exit.h"
@@ -263,9 +263,14 @@ Status waitForShardRegistryReload(OperationContext* opCtx) {
}
Status preCacheMongosRoutingInfo(OperationContext* opCtx) {
+ if (!gLoadRoutingTableOnStartup) {
+ return Status::OK();
+ }
+
if (serverGlobalParams.clusterRole == ClusterRole::ConfigServer) {
return Status::OK();
}
+
auto grid = Grid::get(opCtx);
auto shardingCatalogClient = grid->catalogClient();
@@ -298,9 +303,6 @@ Status preWarmConnectionPool(OperationContext* opCtx) {
return Status::OK();
}
- // Should not be called by mongod
- invariant(serverGlobalParams.clusterRole != ClusterRole::ShardServer);
-
std::vector<HostAndPort> allHosts;
auto const grid = Grid::get(opCtx);
auto allShardsStatus =