summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2018-08-14 13:03:03 -0400
committerKaloian Manassiev <kaloian.manassiev@mongodb.com>2018-08-15 12:57:32 -0400
commitfab6864f4edcae7bb304f79e601f1f62cc376a77 (patch)
treeab6dd5752b59d7af969ab193c24e47a3a36a4d07 /src
parentf61c4e4e9960a00d8da16c1053cd702972f90995 (diff)
downloadmongo-fab6864f4edcae7bb304f79e601f1f62cc376a77.tar.gz
SERVER-29908 Fold the 'sharding_connection_hook' library into 'sharding_initialization'
... and also remove dependency of MongoS on the replication coordinator
Diffstat (limited to 'src')
-rw-r--r--src/mongo/SConscript1
-rw-r--r--src/mongo/db/SConscript2
-rw-r--r--src/mongo/db/commands/SConscript2
-rw-r--r--src/mongo/db/s/SConscript2
-rw-r--r--src/mongo/db/s/config/initial_split_policy.cpp1
-rw-r--r--src/mongo/db/s/config/sharding_catalog_manager_collection_operations.cpp4
-rw-r--r--src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp1
-rw-r--r--src/mongo/db/s/sharding_initialization_mongod.cpp10
-rw-r--r--src/mongo/db/s/sharding_initialization_op_observer_test.cpp1
-rw-r--r--src/mongo/s/SConscript16
-rw-r--r--src/mongo/s/catalog/sharding_catalog_log_change_test.cpp2
-rw-r--r--src/mongo/s/catalog/sharding_catalog_test.cpp2
-rw-r--r--src/mongo/s/client/SConscript15
-rw-r--r--src/mongo/s/cluster_identity_loader_test.cpp1
-rw-r--r--src/mongo/s/sharding_initialization.cpp8
15 files changed, 23 insertions, 45 deletions
diff --git a/src/mongo/SConscript b/src/mongo/SConscript
index e5b837c21f1..51d702962f0 100644
--- a/src/mongo/SConscript
+++ b/src/mongo/SConscript
@@ -422,7 +422,6 @@ mongos = env.Program(
'db/server_options',
'db/startup_warnings_common',
'db/stats/counters',
- 's/client/sharding_connection_hook',
's/commands/cluster_commands',
's/commands/shared_cluster_commands',
's/committed_optime_metadata_hook',
diff --git a/src/mongo/db/SConscript b/src/mongo/db/SConscript
index a8d843ba7d0..e391a4b1c9f 100644
--- a/src/mongo/db/SConscript
+++ b/src/mongo/db/SConscript
@@ -1066,8 +1066,6 @@ env.Library(
"$BUILD_DIR/mongo/db/ttl_collection_cache",
"$BUILD_DIR/mongo/executor/network_interface_factory",
"$BUILD_DIR/mongo/s/catalog/sharding_catalog_client_impl",
- "$BUILD_DIR/mongo/s/client/sharding_connection_hook",
- "$BUILD_DIR/mongo/s/coreshard",
"$BUILD_DIR/mongo/scripting/scripting_server",
"$BUILD_DIR/mongo/util/clock_sources",
"$BUILD_DIR/mongo/util/elapsed_tracker",
diff --git a/src/mongo/db/commands/SConscript b/src/mongo/db/commands/SConscript
index 1cd906b2382..087781bcf18 100644
--- a/src/mongo/db/commands/SConscript
+++ b/src/mongo/db/commands/SConscript
@@ -307,8 +307,8 @@ env.Library(
'$BUILD_DIR/mongo/db/auth/authprivilege',
'$BUILD_DIR/mongo/db/auth/role_graph',
'$BUILD_DIR/mongo/db/auth/sasl_options',
- '$BUILD_DIR/mongo/db/auth/user',
'$BUILD_DIR/mongo/db/auth/user_document_parser',
+ '$BUILD_DIR/mongo/db/auth/user',
'$BUILD_DIR/mongo/db/background',
'$BUILD_DIR/mongo/db/catalog/catalog_helpers',
'$BUILD_DIR/mongo/db/catalog/catalog_impl',
diff --git a/src/mongo/db/s/SConscript b/src/mongo/db/s/SConscript
index cd31bc02796..4f256b99eae 100644
--- a/src/mongo/db/s/SConscript
+++ b/src/mongo/db/s/SConscript
@@ -75,7 +75,6 @@ env.Library(
'$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
'$BUILD_DIR/mongo/db/rw_concern_d',
'$BUILD_DIR/mongo/s/client/shard_local',
- '$BUILD_DIR/mongo/s/client/sharding_connection_hook',
'$BUILD_DIR/mongo/s/sharding_initialization',
'chunk_splitter',
'migration_types',
@@ -331,7 +330,6 @@ env.CppUnitTest(
'sharding_runtime_d',
'$BUILD_DIR/mongo/db/auth/authmocks',
'$BUILD_DIR/mongo/db/query/query_request',
- '$BUILD_DIR/mongo/db/service_context_d_test_fixture',
'$BUILD_DIR/mongo/s/catalog/dist_lock_manager_mock',
'$BUILD_DIR/mongo/s/catalog/sharding_catalog_client_impl',
'$BUILD_DIR/mongo/s/catalog/sharding_catalog_client_mock',
diff --git a/src/mongo/db/s/config/initial_split_policy.cpp b/src/mongo/db/s/config/initial_split_policy.cpp
index 06b044a27d6..092bfbd476e 100644
--- a/src/mongo/db/s/config/initial_split_policy.cpp
+++ b/src/mongo/db/s/config/initial_split_policy.cpp
@@ -36,7 +36,6 @@
#include "mongo/client/read_preference.h"
#include "mongo/db/logical_clock.h"
#include "mongo/s/balancer_configuration.h"
-#include "mongo/s/catalog/sharding_catalog_client_impl.h"
#include "mongo/s/catalog/type_shard.h"
#include "mongo/s/grid.h"
#include "mongo/s/shard_util.h"
diff --git a/src/mongo/db/s/config/sharding_catalog_manager_collection_operations.cpp b/src/mongo/db/s/config/sharding_catalog_manager_collection_operations.cpp
index d0b5d303608..ae79cc7f1c8 100644
--- a/src/mongo/db/s/config/sharding_catalog_manager_collection_operations.cpp
+++ b/src/mongo/db/s/config/sharding_catalog_manager_collection_operations.cpp
@@ -172,7 +172,7 @@ Status ShardingCatalogManager::dropCollection(OperationContext* opCtx, const Nam
"dropCollection.start",
nss.ns(),
BSONObj(),
- ShardingCatalogClientImpl::kMajorityWriteConcern)
+ ShardingCatalogClient::kMajorityWriteConcern)
.ignore();
auto shardsStatus =
@@ -353,7 +353,7 @@ Status ShardingCatalogManager::dropCollection(OperationContext* opCtx, const Nam
"dropCollection",
nss.ns(),
BSONObj(),
- ShardingCatalogClientImpl::kMajorityWriteConcern)
+ ShardingCatalogClient::kMajorityWriteConcern)
.ignore();
return Status::OK();
diff --git a/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp b/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp
index fe87d6f7c1a..9661f3fde1b 100644
--- a/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp
+++ b/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp
@@ -38,7 +38,6 @@
#include "mongo/db/repl/repl_client_info.h"
#include "mongo/db/server_options.h"
#include "mongo/db/write_concern.h"
-#include "mongo/s/catalog/sharding_catalog_client_impl.h"
#include "mongo/s/catalog/type_database.h"
#include "mongo/s/catalog_cache.h"
#include "mongo/s/client/shard.h"
diff --git a/src/mongo/db/s/sharding_initialization_mongod.cpp b/src/mongo/db/s/sharding_initialization_mongod.cpp
index ab235e1db55..b2cd07be7e3 100644
--- a/src/mongo/db/s/sharding_initialization_mongod.cpp
+++ b/src/mongo/db/s/sharding_initialization_mongod.cpp
@@ -46,6 +46,7 @@
#include "mongo/db/operation_context.h"
#include "mongo/db/ops/update.h"
#include "mongo/db/ops/update_lifecycle_impl.h"
+#include "mongo/db/repl/replication_coordinator.h"
#include "mongo/db/s/chunk_splitter.h"
#include "mongo/db/s/periodic_balancer_config_refresher.h"
#include "mongo/db/s/read_only_catalog_cache_loader.h"
@@ -361,7 +362,8 @@ void initializeGlobalShardingStateForMongoD(OperationContext* opCtx,
auto shardFactory =
stdx::make_unique<ShardFactory>(std::move(buildersMap), std::move(targeterFactory));
- auto service = opCtx->getServiceContext();
+ auto const service = opCtx->getServiceContext();
+
if (serverGlobalParams.clusterRole == ClusterRole::ShardServer) {
if (storageGlobalParams.readOnly) {
CatalogCacheLoader::set(service, stdx::make_unique<ReadOnlyCatalogCacheLoader>());
@@ -393,6 +395,12 @@ void initializeGlobalShardingStateForMongoD(OperationContext* opCtx,
// queries in mongod.
1));
+ auto const replCoord = repl::ReplicationCoordinator::get(service);
+ if (serverGlobalParams.clusterRole == ClusterRole::ConfigServer &&
+ replCoord->getMemberState().primary()) {
+ LogicalTimeValidator::get(opCtx)->enableKeyGenerator(opCtx, true);
+ }
+
Grid::get(opCtx)->setShardingInitialized();
}
diff --git a/src/mongo/db/s/sharding_initialization_op_observer_test.cpp b/src/mongo/db/s/sharding_initialization_op_observer_test.cpp
index 3937cb06f0a..d4d9c1f10ee 100644
--- a/src/mongo/db/s/sharding_initialization_op_observer_test.cpp
+++ b/src/mongo/db/s/sharding_initialization_op_observer_test.cpp
@@ -42,7 +42,6 @@
#include "mongo/db/s/type_shard_identity.h"
#include "mongo/db/server_options.h"
#include "mongo/s/catalog/dist_lock_manager_mock.h"
-#include "mongo/s/catalog/sharding_catalog_client_impl.h"
#include "mongo/s/client/shard_registry.h"
#include "mongo/s/config_server_catalog_cache_loader.h"
#include "mongo/s/shard_server_test_fixture.h"
diff --git a/src/mongo/s/SConscript b/src/mongo/s/SConscript
index 096f0228a2b..2796119cc9e 100644
--- a/src/mongo/s/SConscript
+++ b/src/mongo/s/SConscript
@@ -69,26 +69,29 @@ env.Library(
],
)
-# Functionality for initializing global sharding state
+# Functionality for initializing all the services used by sharding, which are common between MongoS
+# and MongoD
env.Library(
target='sharding_initialization',
source=[
'sharding_initialization.cpp',
+ 'client/sharding_connection_hook.cpp',
+ 'client/sharding_network_connection_hook.cpp',
],
LIBDEPS=[
'$BUILD_DIR/mongo/db/logical_session_cache_factory_mongos',
- '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
'$BUILD_DIR/mongo/s/catalog/dist_lock_catalog_impl',
'$BUILD_DIR/mongo/s/catalog/replset_dist_lock_manager',
'$BUILD_DIR/mongo/s/catalog/sharding_catalog_client_impl',
'$BUILD_DIR/mongo/util/periodic_runner_factory',
- 'client/sharding_connection_hook',
- 'coreshard',
- 'sharding_task_executor',
+ 'sharding_legacy_api',
],
LIBDEPS_PRIVATE=[
+ '$BUILD_DIR/mongo/db/auth/internal_user_auth',
'$BUILD_DIR/mongo/executor/thread_pool_task_executor',
- ]
+ 'coreshard',
+ 'sharding_task_executor',
+ ],
)
env.Library(
@@ -468,7 +471,6 @@ env.CppUnitTest(
'$BUILD_DIR/mongo/db/service_context_test_fixture',
'$BUILD_DIR/mongo/dbtests/mocklib',
'$BUILD_DIR/mongo/util/net/network',
- 'client/sharding_connection_hook',
'sharding_legacy_api',
]
)
diff --git a/src/mongo/s/catalog/sharding_catalog_log_change_test.cpp b/src/mongo/s/catalog/sharding_catalog_log_change_test.cpp
index 0080340d341..9653888feb9 100644
--- a/src/mongo/s/catalog/sharding_catalog_log_change_test.cpp
+++ b/src/mongo/s/catalog/sharding_catalog_log_change_test.cpp
@@ -36,7 +36,7 @@
#include "mongo/db/commands.h"
#include "mongo/executor/network_interface_mock.h"
#include "mongo/executor/task_executor.h"
-#include "mongo/s/catalog/sharding_catalog_client_impl.h"
+#include "mongo/s/catalog/sharding_catalog_client.h"
#include "mongo/s/client/shard_registry.h"
#include "mongo/s/sharding_router_test_fixture.h"
#include "mongo/stdx/chrono.h"
diff --git a/src/mongo/s/catalog/sharding_catalog_test.cpp b/src/mongo/s/catalog/sharding_catalog_test.cpp
index eb9b60067d0..79036d4f824 100644
--- a/src/mongo/s/catalog/sharding_catalog_test.cpp
+++ b/src/mongo/s/catalog/sharding_catalog_test.cpp
@@ -44,7 +44,7 @@
#include "mongo/rpc/metadata/repl_set_metadata.h"
#include "mongo/rpc/metadata/tracking_metadata.h"
#include "mongo/s/catalog/dist_lock_manager_mock.h"
-#include "mongo/s/catalog/sharding_catalog_client_impl.h"
+#include "mongo/s/catalog/sharding_catalog_client.h"
#include "mongo/s/catalog/type_chunk.h"
#include "mongo/s/catalog/type_collection.h"
#include "mongo/s/catalog/type_database.h"
diff --git a/src/mongo/s/client/SConscript b/src/mongo/s/client/SConscript
index cd74bbc9923..5dbae27a390 100644
--- a/src/mongo/s/client/SConscript
+++ b/src/mongo/s/client/SConscript
@@ -31,21 +31,6 @@ env.CppUnitTest(
],
)
-env.Library(
- target='sharding_connection_hook',
- source=[
- 'sharding_connection_hook.cpp',
- 'sharding_network_connection_hook.cpp',
- ],
- LIBDEPS=[
- '$BUILD_DIR/mongo/s/coreshard',
- '$BUILD_DIR/mongo/s/sharding_legacy_api',
- ],
- LIBDEPS_PRIVATE=[
- '$BUILD_DIR/mongo/db/auth/internal_user_auth',
- ],
-)
-
env.CppUnitTest(
target='shard_registry_test',
source=[
diff --git a/src/mongo/s/cluster_identity_loader_test.cpp b/src/mongo/s/cluster_identity_loader_test.cpp
index 18685da1086..a10a9673cdd 100644
--- a/src/mongo/s/cluster_identity_loader_test.cpp
+++ b/src/mongo/s/cluster_identity_loader_test.cpp
@@ -41,7 +41,6 @@
#include "mongo/rpc/metadata/repl_set_metadata.h"
#include "mongo/rpc/metadata/tracking_metadata.h"
#include "mongo/s/catalog/config_server_version.h"
-#include "mongo/s/catalog/sharding_catalog_client_impl.h"
#include "mongo/s/catalog/type_config_version.h"
#include "mongo/s/client/shard_registry.h"
#include "mongo/s/cluster_identity_loader.h"
diff --git a/src/mongo/s/sharding_initialization.cpp b/src/mongo/s/sharding_initialization.cpp
index c090379b83b..af635690253 100644
--- a/src/mongo/s/sharding_initialization.cpp
+++ b/src/mongo/s/sharding_initialization.cpp
@@ -35,13 +35,11 @@
#include <string>
#include "mongo/base/status.h"
-#include "mongo/client/remote_command_targeter_factory_impl.h"
#include "mongo/db/audit.h"
#include "mongo/db/keys_collection_client_sharded.h"
#include "mongo/db/keys_collection_manager.h"
#include "mongo/db/logical_clock.h"
#include "mongo/db/logical_time_validator.h"
-#include "mongo/db/repl/replication_coordinator.h"
#include "mongo/db/server_options.h"
#include "mongo/db/server_parameters.h"
#include "mongo/db/service_context.h"
@@ -255,12 +253,6 @@ Status initializeGlobalShardingState(OperationContext* opCtx,
LogicalTimeValidator::set(opCtx->getServiceContext(),
stdx::make_unique<LogicalTimeValidator>(keyManager));
- auto replCoord = repl::ReplicationCoordinator::get(opCtx->getClient()->getServiceContext());
- if (serverGlobalParams.clusterRole == ClusterRole::ConfigServer &&
- replCoord->getMemberState().primary()) {
- LogicalTimeValidator::get(opCtx)->enableKeyGenerator(opCtx, true);
- }
-
return Status::OK();
}