summaryrefslogtreecommitdiff
path: root/src/mongo/s/sharding_initialization.cpp
diff options
context:
space:
mode:
authorMatthew Saltz <matthew.saltz@mongodb.com>2019-09-06 21:51:11 +0000
committerevergreen <evergreen@mongodb.com>2019-09-06 21:51:11 +0000
commit6ea81c883e7297be99884185c908c7ece385caf8 (patch)
tree1907f891ec10a1f7c059a33b901da604f478a325 /src/mongo/s/sharding_initialization.cpp
parent398471a4fde3cdd7ca57f6bbf601ad66998b1150 (diff)
downloadmongo-6ea81c883e7297be99884185c908c7ece385caf8.tar.gz
SERVER-32871 Invalidate CatalogCache entries when ShardRegistry reload discovers a shard has been removed
Diffstat (limited to 'src/mongo/s/sharding_initialization.cpp')
-rw-r--r--src/mongo/s/sharding_initialization.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/mongo/s/sharding_initialization.cpp b/src/mongo/s/sharding_initialization.cpp
index b67aedfc193..255ba6828f6 100644
--- a/src/mongo/s/sharding_initialization.cpp
+++ b/src/mongo/s/sharding_initialization.cpp
@@ -59,7 +59,6 @@
#include "mongo/s/catalog/sharding_catalog_client_impl.h"
#include "mongo/s/catalog_cache.h"
#include "mongo/s/client/shard_factory.h"
-#include "mongo/s/client/shard_registry.h"
#include "mongo/s/client/sharding_network_connection_hook.h"
#include "mongo/s/cluster_identity_loader.h"
#include "mongo/s/grid.h"
@@ -164,16 +163,11 @@ std::string generateDistLockProcessId(OperationContext* opCtx) {
}
Status initializeGlobalShardingState(OperationContext* opCtx,
- const ConnectionString& configCS,
StringData distLockProcessId,
- std::unique_ptr<ShardFactory> shardFactory,
std::unique_ptr<CatalogCache> catalogCache,
+ std::unique_ptr<ShardRegistry> shardRegistry,
rpc::ShardingEgressMetadataHookBuilder hookBuilder,
boost::optional<size_t> taskExecutorPoolSize) {
- if (configCS.type() == ConnectionString::INVALID) {
- return {ErrorCodes::BadValue, "Unrecognized connection string."};
- }
-
ConnectionPool::Options connPoolOptions;
connPoolOptions.controller = std::make_shared<ShardingTaskExecutorPoolController>();
@@ -189,7 +183,7 @@ Status initializeGlobalShardingState(OperationContext* opCtx,
grid->init(makeCatalogClient(service, distLockProcessId),
std::move(catalogCache),
- std::make_unique<ShardRegistry>(std::move(shardFactory), configCS),
+ std::move(shardRegistry),
std::make_unique<ClusterCursorManager>(service->getPreciseClockSource()),
std::make_unique<BalancerConfiguration>(),
std::move(executorPool),