diff options
Diffstat (limited to 'src')
82 files changed, 126 insertions, 217 deletions
diff --git a/src/mongo/client/embedded/service_entry_point_embedded.cpp b/src/mongo/client/embedded/service_entry_point_embedded.cpp index 13bee2a44f0..d5e46c2329b 100644 --- a/src/mongo/client/embedded/service_entry_point_embedded.cpp +++ b/src/mongo/client/embedded/service_entry_point_embedded.cpp @@ -58,7 +58,6 @@ #include "mongo/db/repl/optime.h" #include "mongo/db/repl/read_concern_args.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/s/operation_sharding_state.h" #include "mongo/db/s/sharded_connection_info.h" #include "mongo/db/s/sharding_state.h" diff --git a/src/mongo/db/SConscript b/src/mongo/db/SConscript index 0145ab406d4..7ac4aa70a8b 100644 --- a/src/mongo/db/SConscript +++ b/src/mongo/db/SConscript @@ -922,7 +922,6 @@ env.Library( 'pipeline/pipeline', 'query/query_common', 'query/query_planner', - 'repl/repl_coordinator_global', 'repl/repl_coordinator_interface', 's/sharding', 'stats/serveronly_stats', @@ -989,7 +988,7 @@ env.Library( "repl/oplog_buffer_blocking_queue", "repl/oplog_buffer_collection", "repl/oplog_buffer_proxy", - "repl/repl_coordinator_global", + "repl/repl_coordinator_interface", "repl/repl_coordinator_impl", "repl/repl_settings", "repl/rs_rollback", @@ -1619,7 +1618,6 @@ env.Library( 'log_process_details.cpp', ], LIBDEPS=[ - 'repl/repl_coordinator_global', 'repl/repl_coordinator_interface', 'repl/replica_set_messages', 'server_options', diff --git a/src/mongo/db/auth/SConscript b/src/mongo/db/auth/SConscript index db4f9cfce13..5827aa592d1 100644 --- a/src/mongo/db/auth/SConscript +++ b/src/mongo/db/auth/SConscript @@ -197,7 +197,7 @@ env.Library('authmongod', '$BUILD_DIR/mongo/db/db_raii', '$BUILD_DIR/mongo/db/dbdirectclient', '$BUILD_DIR/mongo/db/dbhelpers', - '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', + '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/server_parameters', ], ) diff --git a/src/mongo/db/auth/authz_session_external_state_d.cpp b/src/mongo/db/auth/authz_session_external_state_d.cpp index 77f0f0df856..0c8689feb10 100644 --- a/src/mongo/db/auth/authz_session_external_state_d.cpp +++ b/src/mongo/db/auth/authz_session_external_state_d.cpp @@ -34,7 +34,7 @@ #include "mongo/db/client.h" #include "mongo/db/jsobj.h" #include "mongo/db/operation_context.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/scripting/engine.h" #include "mongo/util/assert_util.h" @@ -60,9 +60,10 @@ bool AuthzSessionExternalStateMongod::shouldIgnoreAuthChecks() const { bool AuthzSessionExternalStateMongod::serverIsArbiter() const { // Arbiters have access to extra privileges under localhost. See SERVER-5479. - return (repl::getGlobalReplicationCoordinator()->getReplicationMode() == - repl::ReplicationCoordinator::modeReplSet && - repl::getGlobalReplicationCoordinator()->getMemberState().arbiter()); + return ( + repl::ReplicationCoordinator::get(getGlobalServiceContext())->getReplicationMode() == + repl::ReplicationCoordinator::modeReplSet && + repl::ReplicationCoordinator::get(getGlobalServiceContext())->getMemberState().arbiter()); } } // namespace mongo diff --git a/src/mongo/db/catalog/capped_utils.cpp b/src/mongo/db/catalog/capped_utils.cpp index 90b36990e26..47ac06fb385 100644 --- a/src/mongo/db/catalog/capped_utils.cpp +++ b/src/mongo/db/catalog/capped_utils.cpp @@ -47,7 +47,7 @@ #include "mongo/db/index_builder.h" #include "mongo/db/query/internal_plans.h" #include "mongo/db/query/plan_yield_policy.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/service_context.h" #include "mongo/util/scopeguard.h" diff --git a/src/mongo/db/catalog/coll_mod.cpp b/src/mongo/db/catalog/coll_mod.cpp index 9aa6e0391b3..b4ba7d3fdc2 100644 --- a/src/mongo/db/catalog/coll_mod.cpp +++ b/src/mongo/db/catalog/coll_mod.cpp @@ -45,7 +45,7 @@ #include "mongo/db/db_raii.h" #include "mongo/db/index/index_descriptor.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/s/sharding_state.h" #include "mongo/db/server_options.h" #include "mongo/db/service_context.h" diff --git a/src/mongo/db/catalog/collection.cpp b/src/mongo/db/catalog/collection.cpp index 6493d147605..13bb493e5a6 100644 --- a/src/mongo/db/catalog/collection.cpp +++ b/src/mongo/db/catalog/collection.cpp @@ -53,7 +53,6 @@ #include "mongo/db/operation_context.h" #include "mongo/db/ops/update_request.h" #include "mongo/db/query/collation/collator_factory_interface.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/server_parameters.h" #include "mongo/db/service_context.h" #include "mongo/db/storage/key_string.h" diff --git a/src/mongo/db/catalog/collection_impl.cpp b/src/mongo/db/catalog/collection_impl.cpp index dae6600d637..77eae4b05b9 100644 --- a/src/mongo/db/catalog/collection_impl.cpp +++ b/src/mongo/db/catalog/collection_impl.cpp @@ -60,7 +60,7 @@ #include "mongo/db/operation_context.h" #include "mongo/db/ops/update_request.h" #include "mongo/db/query/collation/collator_factory_interface.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/server_parameters.h" #include "mongo/db/service_context.h" #include "mongo/db/storage/key_string.h" diff --git a/src/mongo/db/catalog/database_impl.cpp b/src/mongo/db/catalog/database_impl.cpp index 62ef7317090..acaf962bcf9 100644 --- a/src/mongo/db/catalog/database_impl.cpp +++ b/src/mongo/db/catalog/database_impl.cpp @@ -58,7 +58,7 @@ #include "mongo/db/query/collation/collator_factory_interface.h" #include "mongo/db/repl/drop_pending_collection_reaper.h" #include "mongo/db/repl/oplog.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/s/operation_sharding_state.h" #include "mongo/db/server_options.h" #include "mongo/db/server_parameters.h" diff --git a/src/mongo/db/catalog/drop_collection.cpp b/src/mongo/db/catalog/drop_collection.cpp index 33b9acebea0..e9e816651a2 100644 --- a/src/mongo/db/catalog/drop_collection.cpp +++ b/src/mongo/db/catalog/drop_collection.cpp @@ -39,7 +39,7 @@ #include "mongo/db/curop.h" #include "mongo/db/db_raii.h" #include "mongo/db/index_builder.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/server_options.h" #include "mongo/db/service_context.h" #include "mongo/db/views/view_catalog.h" diff --git a/src/mongo/db/catalog/drop_indexes.cpp b/src/mongo/db/catalog/drop_indexes.cpp index 67a6a2f0903..10f78594b51 100644 --- a/src/mongo/db/catalog/drop_indexes.cpp +++ b/src/mongo/db/catalog/drop_indexes.cpp @@ -40,7 +40,7 @@ #include "mongo/db/db_raii.h" #include "mongo/db/index/index_descriptor.h" #include "mongo/db/index_builder.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/service_context.h" #include "mongo/util/log.h" diff --git a/src/mongo/db/catalog/index_catalog_impl.cpp b/src/mongo/db/catalog/index_catalog_impl.cpp index 9d51004abd8..c79a0802fa9 100644 --- a/src/mongo/db/catalog/index_catalog_impl.cpp +++ b/src/mongo/db/catalog/index_catalog_impl.cpp @@ -61,7 +61,7 @@ #include "mongo/db/query/collation/collator_factory_interface.h" #include "mongo/db/query/internal_plans.h" #include "mongo/db/repl/replication_coordinator.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/server_options.h" #include "mongo/db/service_context.h" #include "mongo/util/assert_util.h" diff --git a/src/mongo/db/catalog/index_create.cpp b/src/mongo/db/catalog/index_create.cpp index 678e4ae6d0f..06f9676ca4b 100644 --- a/src/mongo/db/catalog/index_create.cpp +++ b/src/mongo/db/catalog/index_create.cpp @@ -44,7 +44,6 @@ #include "mongo/db/exec/working_set_common.h" #include "mongo/db/operation_context.h" #include "mongo/db/query/internal_plans.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/server_parameters.h" #include "mongo/stdx/functional.h" #include "mongo/stdx/mutex.h" diff --git a/src/mongo/db/catalog/rename_collection.cpp b/src/mongo/db/catalog/rename_collection.cpp index eb8659b80dc..3ff9792233b 100644 --- a/src/mongo/db/catalog/rename_collection.cpp +++ b/src/mongo/db/catalog/rename_collection.cpp @@ -47,7 +47,7 @@ #include "mongo/db/index/index_descriptor.h" #include "mongo/db/index_builder.h" #include "mongo/db/jsobj.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/s/collection_sharding_state.h" #include "mongo/db/service_context.h" #include "mongo/util/log.h" diff --git a/src/mongo/db/clientcursor.cpp b/src/mongo/db/clientcursor.cpp index ff3a3cba0c0..e7c2366ffdf 100644 --- a/src/mongo/db/clientcursor.cpp +++ b/src/mongo/db/clientcursor.cpp @@ -48,7 +48,7 @@ #include "mongo/db/cursor_server_params.h" #include "mongo/db/jsobj.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/util/background.h" #include "mongo/util/concurrency/idle_thread_block.h" #include "mongo/util/exit.h" diff --git a/src/mongo/db/cloner.cpp b/src/mongo/db/cloner.cpp index 22cf1a1d199..5863621f107 100644 --- a/src/mongo/db/cloner.cpp +++ b/src/mongo/db/cloner.cpp @@ -61,7 +61,7 @@ #include "mongo/db/op_observer.h" #include "mongo/db/ops/insert.h" #include "mongo/db/repl/isself.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/server_parameters.h" #include "mongo/db/service_context.h" #include "mongo/db/storage/storage_options.h" diff --git a/src/mongo/db/commands/SConscript b/src/mongo/db/commands/SConscript index 550ccf28aa8..c49907e5380 100644 --- a/src/mongo/db/commands/SConscript +++ b/src/mongo/db/commands/SConscript @@ -99,7 +99,7 @@ env.Library( '$BUILD_DIR/mongo/db/logical_session_id_helpers', '$BUILD_DIR/mongo/db/matcher/expressions', '$BUILD_DIR/mongo/db/repl/isself', - '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', + '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/server_options', '$BUILD_DIR/mongo/db/server_parameters', '$BUILD_DIR/mongo/db/startup_warnings_common', diff --git a/src/mongo/db/commands/apply_ops_cmd.cpp b/src/mongo/db/commands/apply_ops_cmd.cpp index 34010f2aa3f..976a85bcec8 100644 --- a/src/mongo/db/commands/apply_ops_cmd.cpp +++ b/src/mongo/db/commands/apply_ops_cmd.cpp @@ -50,7 +50,6 @@ #include "mongo/db/repl/apply_ops.h" #include "mongo/db/repl/oplog.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/service_context.h" #include "mongo/util/log.h" #include "mongo/util/scopeguard.h" diff --git a/src/mongo/db/commands/collection_to_capped.cpp b/src/mongo/db/commands/collection_to_capped.cpp index d804b9230f5..07da52d1bca 100644 --- a/src/mongo/db/commands/collection_to_capped.cpp +++ b/src/mongo/db/commands/collection_to_capped.cpp @@ -40,7 +40,7 @@ #include "mongo/db/op_observer.h" #include "mongo/db/query/find.h" #include "mongo/db/query/internal_plans.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/service_context.h" namespace mongo { diff --git a/src/mongo/db/commands/compact.cpp b/src/mongo/db/commands/compact.cpp index 3b89886e3fd..83ddab63ce1 100644 --- a/src/mongo/db/commands/compact.cpp +++ b/src/mongo/db/commands/compact.cpp @@ -45,7 +45,7 @@ #include "mongo/db/db_raii.h" #include "mongo/db/index_builder.h" #include "mongo/db/jsobj.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/util/log.h" namespace mongo { diff --git a/src/mongo/db/commands/conn_pool_stats.cpp b/src/mongo/db/commands/conn_pool_stats.cpp index cfa8def3f02..f554b55302a 100644 --- a/src/mongo/db/commands/conn_pool_stats.cpp +++ b/src/mongo/db/commands/conn_pool_stats.cpp @@ -36,7 +36,6 @@ #include "mongo/client/global_conn_pool.h" #include "mongo/db/commands.h" #include "mongo/db/repl/replication_coordinator.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/executor/connection_pool_stats.h" #include "mongo/executor/network_interface_factory.h" #include "mongo/executor/task_executor_pool.h" diff --git a/src/mongo/db/commands/count_cmd.cpp b/src/mongo/db/commands/count_cmd.cpp index 306c339f41a..d2e35f86fd6 100644 --- a/src/mongo/db/commands/count_cmd.cpp +++ b/src/mongo/db/commands/count_cmd.cpp @@ -41,7 +41,7 @@ #include "mongo/db/query/get_executor.h" #include "mongo/db/query/plan_summary_stats.h" #include "mongo/db/query/view_response_formatter.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/views/resolved_view.h" #include "mongo/util/log.h" diff --git a/src/mongo/db/commands/create_indexes.cpp b/src/mongo/db/commands/create_indexes.cpp index 1a7e8f80681..535f1b11704 100644 --- a/src/mongo/db/commands/create_indexes.cpp +++ b/src/mongo/db/commands/create_indexes.cpp @@ -48,7 +48,7 @@ #include "mongo/db/ops/insert.h" #include "mongo/db/query/collation/collator_factory_interface.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/s/collection_metadata.h" #include "mongo/db/s/collection_sharding_state.h" #include "mongo/db/server_options.h" diff --git a/src/mongo/db/commands/dbcommands.cpp b/src/mongo/db/commands/dbcommands.cpp index d1a927ec9ee..ce56e6a61b0 100644 --- a/src/mongo/db/commands/dbcommands.cpp +++ b/src/mongo/db/commands/dbcommands.cpp @@ -83,7 +83,7 @@ #include "mongo/db/repl/read_concern_args.h" #include "mongo/db/repl/repl_client_info.h" #include "mongo/db/repl/repl_settings.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/server_parameters.h" #include "mongo/db/stats/storage_stats.h" #include "mongo/db/write_concern.h" diff --git a/src/mongo/db/commands/do_txn_cmd.cpp b/src/mongo/db/commands/do_txn_cmd.cpp index 2b0200c6d17..9d87249fa6e 100644 --- a/src/mongo/db/commands/do_txn_cmd.cpp +++ b/src/mongo/db/commands/do_txn_cmd.cpp @@ -51,7 +51,6 @@ #include "mongo/db/repl/oplog.h" #include "mongo/db/repl/oplog_entry_gen.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/service_context.h" #include "mongo/util/log.h" #include "mongo/util/scopeguard.h" diff --git a/src/mongo/db/commands/drop_indexes.cpp b/src/mongo/db/commands/drop_indexes.cpp index 2c97f3341bc..48b70d171f9 100644 --- a/src/mongo/db/commands/drop_indexes.cpp +++ b/src/mongo/db/commands/drop_indexes.cpp @@ -52,7 +52,7 @@ #include "mongo/db/index/index_descriptor.h" #include "mongo/db/index_builder.h" #include "mongo/db/op_observer.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/service_context.h" #include "mongo/util/log.h" diff --git a/src/mongo/db/commands/explain_cmd.cpp b/src/mongo/db/commands/explain_cmd.cpp index 89d43bddd48..8f0ce39a66a 100644 --- a/src/mongo/db/commands/explain_cmd.cpp +++ b/src/mongo/db/commands/explain_cmd.cpp @@ -31,7 +31,6 @@ #include "mongo/db/command_can_run_here.h" #include "mongo/db/commands.h" #include "mongo/db/query/explain.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/util/mongoutils/str.h" namespace mongo { diff --git a/src/mongo/db/commands/find_and_modify.cpp b/src/mongo/db/commands/find_and_modify.cpp index 8fdbb86a019..e836e7aa737 100644 --- a/src/mongo/db/commands/find_and_modify.cpp +++ b/src/mongo/db/commands/find_and_modify.cpp @@ -61,7 +61,7 @@ #include "mongo/db/query/plan_executor.h" #include "mongo/db/query/plan_summary_stats.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/retryable_writes_stats.h" #include "mongo/db/s/collection_sharding_state.h" #include "mongo/db/session_catalog.h" diff --git a/src/mongo/db/commands/get_last_error.cpp b/src/mongo/db/commands/get_last_error.cpp index 1957901b12b..c7673052e8b 100644 --- a/src/mongo/db/commands/get_last_error.cpp +++ b/src/mongo/db/commands/get_last_error.cpp @@ -39,7 +39,7 @@ #include "mongo/db/lasterror.h" #include "mongo/db/repl/bson_extract_optime.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/write_concern.h" #include "mongo/util/log.h" diff --git a/src/mongo/db/commands/getmore_cmd.cpp b/src/mongo/db/commands/getmore_cmd.cpp index 3d000219e41..2776b6f607b 100644 --- a/src/mongo/db/commands/getmore_cmd.cpp +++ b/src/mongo/db/commands/getmore_cmd.cpp @@ -50,7 +50,7 @@ #include "mongo/db/query/plan_executor.h" #include "mongo/db/query/plan_summary_stats.h" #include "mongo/db/repl/oplog.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/service_context.h" #include "mongo/db/stats/counters.h" #include "mongo/db/stats/top.h" diff --git a/src/mongo/db/commands/mr.cpp b/src/mongo/db/commands/mr.cpp index c4a2ce98128..d323bdd707c 100644 --- a/src/mongo/db/commands/mr.cpp +++ b/src/mongo/db/commands/mr.cpp @@ -59,7 +59,7 @@ #include "mongo/db/query/get_executor.h" #include "mongo/db/query/plan_summary_stats.h" #include "mongo/db/query/query_planner.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/s/collection_metadata.h" #include "mongo/db/s/collection_sharding_state.h" #include "mongo/db/s/sharding_state.h" diff --git a/src/mongo/db/commands/oplog_note.cpp b/src/mongo/db/commands/oplog_note.cpp index 0cc7afac12b..852a25b411a 100644 --- a/src/mongo/db/commands/oplog_note.cpp +++ b/src/mongo/db/commands/oplog_note.cpp @@ -46,7 +46,6 @@ #include "mongo/db/operation_context.h" #include "mongo/db/repl/oplog.h" #include "mongo/db/repl/replication_coordinator.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/service_context.h" #include "mongo/util/log.h" diff --git a/src/mongo/db/commands/rename_collection_cmd.cpp b/src/mongo/db/commands/rename_collection_cmd.cpp index 62764fe5cb4..3f05d9cd2b9 100644 --- a/src/mongo/db/commands/rename_collection_cmd.cpp +++ b/src/mongo/db/commands/rename_collection_cmd.cpp @@ -44,7 +44,7 @@ #include "mongo/db/namespace_string.h" #include "mongo/db/op_observer.h" #include "mongo/db/ops/insert.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/service_context.h" #include "mongo/util/scopeguard.h" diff --git a/src/mongo/db/commands/set_feature_compatibility_version_command.cpp b/src/mongo/db/commands/set_feature_compatibility_version_command.cpp index 5eb5867d5b8..4473b35e010 100644 --- a/src/mongo/db/commands/set_feature_compatibility_version_command.cpp +++ b/src/mongo/db/commands/set_feature_compatibility_version_command.cpp @@ -39,8 +39,6 @@ #include "mongo/db/concurrency/d_concurrency.h" #include "mongo/db/db_raii.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/s/config/sharding_catalog_manager.h" #include "mongo/db/server_options.h" #include "mongo/rpc/get_status_from_command_result.h" diff --git a/src/mongo/db/commands/test_commands.cpp b/src/mongo/db/commands/test_commands.cpp index fc3f8c467d7..6ffca594ad4 100644 --- a/src/mongo/db/commands/test_commands.cpp +++ b/src/mongo/db/commands/test_commands.cpp @@ -44,7 +44,6 @@ #include "mongo/db/index_builder.h" #include "mongo/db/op_observer.h" #include "mongo/db/query/internal_plans.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/service_context.h" #include "mongo/util/log.h" diff --git a/src/mongo/db/commands/write_commands/write_commands.cpp b/src/mongo/db/commands/write_commands/write_commands.cpp index a781b2682ed..54410f26c0e 100644 --- a/src/mongo/db/commands/write_commands/write_commands.cpp +++ b/src/mongo/db/commands/write_commands/write_commands.cpp @@ -46,7 +46,7 @@ #include "mongo/db/query/explain.h" #include "mongo/db/query/get_executor.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/server_parameters.h" #include "mongo/db/stats/counters.h" #include "mongo/db/write_concern.h" diff --git a/src/mongo/db/db.cpp b/src/mongo/db/db.cpp index 24a7ef71828..8e27f6a2c26 100644 --- a/src/mongo/db/db.cpp +++ b/src/mongo/db/db.cpp @@ -99,8 +99,8 @@ #include "mongo/db/repl/oplog.h" #include "mongo/db/repl/repl_settings.h" #include "mongo/db/repl/replication_consistency_markers_impl.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/repl/replication_coordinator_external_state_impl.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/repl/replication_coordinator_impl.h" #include "mongo/db/repl/replication_process.h" #include "mongo/db/repl/replication_recovery.h" diff --git a/src/mongo/db/exec/delete.cpp b/src/mongo/db/exec/delete.cpp index 57820ea7a27..47563136c9c 100644 --- a/src/mongo/db/exec/delete.cpp +++ b/src/mongo/db/exec/delete.cpp @@ -40,7 +40,7 @@ #include "mongo/db/exec/write_stage_common.h" #include "mongo/db/op_observer.h" #include "mongo/db/query/canonical_query.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/service_context.h" #include "mongo/stdx/memory.h" #include "mongo/util/log.h" diff --git a/src/mongo/db/exec/update.cpp b/src/mongo/db/exec/update.cpp index 0a214d97bd9..44e4513440a 100644 --- a/src/mongo/db/exec/update.cpp +++ b/src/mongo/db/exec/update.cpp @@ -43,7 +43,7 @@ #include "mongo/db/op_observer.h" #include "mongo/db/ops/update_lifecycle.h" #include "mongo/db/query/explain.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/s/collection_metadata.h" #include "mongo/db/s/collection_sharding_state.h" #include "mongo/db/s/metadata_manager.h" diff --git a/src/mongo/db/ftdc/SConscript b/src/mongo/db/ftdc/SConscript index 5e78036c3e5..68ff033a2d2 100644 --- a/src/mongo/db/ftdc/SConscript +++ b/src/mongo/db/ftdc/SConscript @@ -64,7 +64,7 @@ env.Library( 'ftdc_mongod.cpp', ], LIBDEPS=[ - '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', + '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/storage/storage_options', 'ftdc_server' ], diff --git a/src/mongo/db/ftdc/ftdc_mongod.cpp b/src/mongo/db/ftdc/ftdc_mongod.cpp index 1f53ec345ea..d3c1c703dbd 100644 --- a/src/mongo/db/ftdc/ftdc_mongod.cpp +++ b/src/mongo/db/ftdc/ftdc_mongod.cpp @@ -36,7 +36,6 @@ #include "mongo/db/ftdc/controller.h" #include "mongo/db/ftdc/ftdc_server.h" #include "mongo/db/repl/replication_coordinator.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/storage/storage_options.h" namespace mongo { @@ -44,7 +43,7 @@ namespace mongo { namespace { void registerMongoDCollectors(FTDCController* controller) { // These metrics are only collected if replication is enabled - if (repl::getGlobalReplicationCoordinator()->getReplicationMode() != + if (repl::ReplicationCoordinator::get(getGlobalServiceContext())->getReplicationMode() != repl::ReplicationCoordinator::modeNone) { // CmdReplSetGetStatus controller->addPeriodicCollector(stdx::make_unique<FTDCSimpleInternalCommandCollector>( diff --git a/src/mongo/db/log_process_details.cpp b/src/mongo/db/log_process_details.cpp index 681db42d7e1..d12b0ebce29 100644 --- a/src/mongo/db/log_process_details.cpp +++ b/src/mongo/db/log_process_details.cpp @@ -36,7 +36,6 @@ #include "mongo/db/repl/repl_set_config.h" #include "mongo/db/repl/replication_coordinator.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/server_options.h" #include "mongo/db/server_options_helpers.h" #include "mongo/util/log.h" diff --git a/src/mongo/db/ops/parsed_delete.cpp b/src/mongo/db/ops/parsed_delete.cpp index 839381e358f..a213d038ad9 100644 --- a/src/mongo/db/ops/parsed_delete.cpp +++ b/src/mongo/db/ops/parsed_delete.cpp @@ -40,7 +40,6 @@ #include "mongo/db/query/canonical_query.h" #include "mongo/db/query/get_executor.h" #include "mongo/db/query/query_planner_common.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/util/assert_util.h" #include "mongo/util/log.h" #include "mongo/util/mongoutils/str.h" diff --git a/src/mongo/db/ops/update.cpp b/src/mongo/db/ops/update.cpp index 8bc1344c0e0..ba573531791 100644 --- a/src/mongo/db/ops/update.cpp +++ b/src/mongo/db/ops/update.cpp @@ -49,7 +49,7 @@ #include "mongo/db/query/get_executor.h" #include "mongo/db/query/plan_summary_stats.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/update/update_driver.h" #include "mongo/db/update_index_data.h" #include "mongo/util/log.h" diff --git a/src/mongo/db/prefetch.cpp b/src/mongo/db/prefetch.cpp index 615721b5e31..a55993037bc 100644 --- a/src/mongo/db/prefetch.cpp +++ b/src/mongo/db/prefetch.cpp @@ -43,7 +43,6 @@ #include "mongo/db/repl/oplog_entry.h" #include "mongo/db/repl/repl_settings.h" #include "mongo/db/repl/replication_coordinator.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/server_parameters.h" #include "mongo/db/stats/timer_stats.h" #include "mongo/db/storage/mmap_v1/mmap.h" @@ -216,12 +215,12 @@ public: virtual ~ReplIndexPrefetch() {} const char* _value() { - if (getGlobalReplicationCoordinator()->getReplicationMode() != + if (ReplicationCoordinator::get(getGlobalServiceContext())->getReplicationMode() != ReplicationCoordinator::modeReplSet) { return "uninitialized"; } ReplSettings::IndexPrefetchConfig ip = - getGlobalReplicationCoordinator()->getIndexPrefetchConfig(); + ReplicationCoordinator::get(getGlobalServiceContext())->getIndexPrefetchConfig(); switch (ip) { case ReplSettings::IndexPrefetchConfig::PREFETCH_NONE: return "none"; @@ -239,7 +238,7 @@ public: } virtual Status set(const BSONElement& newValueElement) { - if (getGlobalReplicationCoordinator()->getReplicationMode() != + if (ReplicationCoordinator::get(getGlobalServiceContext())->getReplicationMode() != ReplicationCoordinator::modeReplSet) { return Status(ErrorCodes::BadValue, "replication is not enabled"); } @@ -264,7 +263,8 @@ public: str::stream() << "unrecognized indexPrefetch setting: " << prefetch); } - getGlobalReplicationCoordinator()->setIndexPrefetchConfig(prefetchConfig); + ReplicationCoordinator::get(getGlobalServiceContext()) + ->setIndexPrefetchConfig(prefetchConfig); return Status::OK(); } diff --git a/src/mongo/db/query/get_executor.cpp b/src/mongo/db/query/get_executor.cpp index 99d7db885a4..111d2884174 100644 --- a/src/mongo/db/query/get_executor.cpp +++ b/src/mongo/db/query/get_executor.cpp @@ -73,7 +73,7 @@ #include "mongo/db/query/query_settings.h" #include "mongo/db/query/stage_builder.h" #include "mongo/db/repl/optime.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/s/collection_metadata.h" #include "mongo/db/s/collection_sharding_state.h" #include "mongo/db/s/sharding_state.h" diff --git a/src/mongo/db/repair_database_and_check_version.cpp b/src/mongo/db/repair_database_and_check_version.cpp index 43d3017cf5b..87a486b0122 100644 --- a/src/mongo/db/repair_database_and_check_version.cpp +++ b/src/mongo/db/repair_database_and_check_version.cpp @@ -44,7 +44,7 @@ #include "mongo/db/query/internal_plans.h" #include "mongo/db/repair_database.h" #include "mongo/db/repl/drop_pending_collection_reaper.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/server_options.h" #include "mongo/db/storage/mmap_v1/mmap_v1_options.h" #include "mongo/util/log.h" @@ -225,7 +225,9 @@ void checkForIdIndexesAndDropPendingCollections(OperationContext* opCtx, Databas unsigned long long checkIfReplMissingFromCommandLine(OperationContext* opCtx) { // This is helpful for the query below to work as you can't open files when readlocked Lock::GlobalWrite lk(opCtx); - if (!repl::getGlobalReplicationCoordinator()->getSettings().usingReplSets()) { + if (!repl::ReplicationCoordinator::get(getGlobalServiceContext()) + ->getSettings() + .usingReplSets()) { DBDirectClient c(opCtx); return c.count(kSystemReplSetCollection.ns()); } diff --git a/src/mongo/db/repl/SConscript b/src/mongo/db/repl/SConscript index 670f315d71e..0f13e84726f 100644 --- a/src/mongo/db/repl/SConscript +++ b/src/mongo/db/repl/SConscript @@ -98,7 +98,6 @@ env.Library( 'oplog_interface_remote', 'oplogreader', 'repl_coordinator_interface', - 'repl_coordinator_global', '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/background', '$BUILD_DIR/mongo/db/catalog/database', @@ -143,7 +142,6 @@ env.Library( '$BUILD_DIR/mongo/executor/network_interface_factory', '$BUILD_DIR/mongo/executor/task_executor_interface', '$BUILD_DIR/mongo/executor/thread_pool_task_executor', - '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', '$BUILD_DIR/mongo/util/concurrency/thread_pool', ], ) @@ -289,7 +287,7 @@ env.Library( '$BUILD_DIR/mongo/db/server_options', '$BUILD_DIR/mongo/db/storage/storage_options', 'optime', - 'repl_coordinator_global', + 'repl_coordinator_interface', 'replication_consistency_markers_idl', ], ) @@ -633,7 +631,7 @@ env.Library( '$BUILD_DIR/mongo/util/net/network', 'initial_syncer', 'oplog_entry', - 'repl_coordinator_global', + 'repl_coordinator_interface', 'storage_interface', 'bgsync', ], @@ -796,7 +794,6 @@ env.Library( 'collection_cloner', 'initial_syncer', 'data_replicator_external_state_initial_sync', - 'repl_coordinator_global', 'repl_coordinator_interface', 'repl_settings', 'replica_set_messages', @@ -958,10 +955,6 @@ env.Library( ], ) -env.Library('repl_coordinator_global', - 'replication_coordinator_global.cpp', - LIBDEPS=['repl_coordinator_interface']) - env.Library( target='replmocks', source=[ @@ -1068,7 +1061,7 @@ env.Library( '$BUILD_DIR/mongo/db/concurrency/lock_manager', '$BUILD_DIR/mongo/db/dbhelpers', '$BUILD_DIR/mongo/db/lasterror', - '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', + '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/storage/storage_options', 'drop_pending_collection_reaper', 'repl_settings', @@ -1577,7 +1570,7 @@ env.Library( 'oplog_buffer_collection', 'oplog_interface_remote', 'optime', - 'repl_coordinator_global', + 'repl_coordinator_interface', 'repl_settings', 'replication_consistency_markers_impl', 'replication_info', diff --git a/src/mongo/db/repl/apply_ops.cpp b/src/mongo/db/repl/apply_ops.cpp index 42e857b0e74..2d85fe4c908 100644 --- a/src/mongo/db/repl/apply_ops.cpp +++ b/src/mongo/db/repl/apply_ops.cpp @@ -48,7 +48,7 @@ #include "mongo/db/op_observer.h" #include "mongo/db/operation_context.h" #include "mongo/db/query/collation/collation_spec.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/service_context.h" #include "mongo/rpc/get_status_from_command_result.h" #include "mongo/util/fail_point_service.h" diff --git a/src/mongo/db/repl/bgsync.cpp b/src/mongo/db/repl/bgsync.cpp index dd56f8a3856..2a3248e257c 100644 --- a/src/mongo/db/repl/bgsync.cpp +++ b/src/mongo/db/repl/bgsync.cpp @@ -45,7 +45,7 @@ #include "mongo/db/repl/oplog.h" #include "mongo/db/repl/oplog_interface_local.h" #include "mongo/db/repl/oplog_interface_remote.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/repl/replication_coordinator_impl.h" #include "mongo/db/repl/replication_process.h" #include "mongo/db/repl/rollback_source_impl.h" diff --git a/src/mongo/db/repl/do_txn.cpp b/src/mongo/db/repl/do_txn.cpp index 777f8ccabcc..42258b4eb7e 100644 --- a/src/mongo/db/repl/do_txn.cpp +++ b/src/mongo/db/repl/do_txn.cpp @@ -48,7 +48,7 @@ #include "mongo/db/op_observer.h" #include "mongo/db/operation_context.h" #include "mongo/db/query/collation/collation_spec.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/service_context.h" #include "mongo/db/session_catalog.h" #include "mongo/rpc/get_status_from_command_result.h" diff --git a/src/mongo/db/repl/idempotency_test_fixture.cpp b/src/mongo/db/repl/idempotency_test_fixture.cpp index 32b7347380c..8dc9b4823e5 100644 --- a/src/mongo/db/repl/idempotency_test_fixture.cpp +++ b/src/mongo/db/repl/idempotency_test_fixture.cpp @@ -52,7 +52,6 @@ #include "mongo/db/repl/oplog.h" #include "mongo/db/repl/oplog_interface_local.h" #include "mongo/db/repl/replication_consistency_markers_mock.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/repl/replication_coordinator_mock.h" #include "mongo/db/repl/storage_interface.h" #include "mongo/util/md5.hpp" diff --git a/src/mongo/db/repl/master_slave.cpp b/src/mongo/db/repl/master_slave.cpp index e458e63c6d4..2582c03efb1 100644 --- a/src/mongo/db/repl/master_slave.cpp +++ b/src/mongo/db/repl/master_slave.cpp @@ -64,7 +64,7 @@ #include "mongo/db/repl/handshake_args.h" #include "mongo/db/repl/oplog.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/repl/sync_tail.h" #include "mongo/db/server_parameters.h" #include "mongo/db/service_context.h" @@ -854,7 +854,8 @@ public: return Status(ErrorCodes::BadValue, "replApplyBatchSize has to be >= 1 and <= 1024"); } - const ReplSettings& replSettings = getGlobalReplicationCoordinator()->getSettings(); + const ReplSettings& replSettings = + ReplicationCoordinator::get(getGlobalServiceContext())->getSettings(); if (replSettings.getSlaveDelaySecs() != Seconds(0) && potentialNewValue > 1) { return Status(ErrorCodes::BadValue, "can't use a batch size > 1 with slavedelay"); } diff --git a/src/mongo/db/repl/oplog.cpp b/src/mongo/db/repl/oplog.cpp index 62e2512564f..6eab8fc2f4a 100644 --- a/src/mongo/db/repl/oplog.cpp +++ b/src/mongo/db/repl/oplog.cpp @@ -78,7 +78,7 @@ #include "mongo/db/repl/oplogreader.h" #include "mongo/db/repl/optime.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/repl/sync_tail.h" #include "mongo/db/repl/timestamp_block.h" #include "mongo/db/server_parameters.h" diff --git a/src/mongo/db/repl/repl_set_commands.cpp b/src/mongo/db/repl/repl_set_commands.cpp index 1aa71ccfca7..5394982deba 100644 --- a/src/mongo/db/repl/repl_set_commands.cpp +++ b/src/mongo/db/repl/repl_set_commands.cpp @@ -53,9 +53,8 @@ #include "mongo/db/repl/repl_set_heartbeat_args.h" #include "mongo/db/repl/repl_set_heartbeat_args_v1.h" #include "mongo/db/repl/repl_set_heartbeat_response.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/repl/replication_coordinator_external_state_impl.h" -#include "mongo/db/repl/replication_coordinator_global.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/repl/replication_process.h" #include "mongo/db/repl/storage_interface.h" #include "mongo/db/repl/update_position_args.h" @@ -79,7 +78,7 @@ class ReplExecutorSSM : public ServerStatusMetric { public: ReplExecutorSSM() : ServerStatusMetric("repl.executor") {} virtual void appendAtLeaf(BSONObjBuilder& b) const { - getGlobalReplicationCoordinator()->appendDiagnosticBSON(&b); + ReplicationCoordinator::get(getGlobalServiceContext())->appendDiagnosticBSON(&b); } } replExecutorSSM; diff --git a/src/mongo/db/repl/repl_set_request_votes.cpp b/src/mongo/db/repl/repl_set_request_votes.cpp index 1ceda277eb7..b917a06ed09 100644 --- a/src/mongo/db/repl/repl_set_request_votes.cpp +++ b/src/mongo/db/repl/repl_set_request_votes.cpp @@ -33,7 +33,7 @@ #include "mongo/db/repl/optime.h" #include "mongo/db/repl/repl_set_command.h" #include "mongo/db/repl/repl_set_request_votes_args.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/executor/network_interface.h" #include "mongo/transport/session.h" #include "mongo/transport/transport_layer.h" diff --git a/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp b/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp index 6f86ecc17b8..2a46e8eef72 100644 --- a/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp +++ b/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp @@ -65,7 +65,7 @@ #include "mongo/db/repl/oplog_buffer_collection.h" #include "mongo/db/repl/oplog_buffer_proxy.h" #include "mongo/db/repl/repl_settings.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/repl/replication_process.h" #include "mongo/db/repl/rs_sync.h" #include "mongo/db/repl/storage_interface.h" diff --git a/src/mongo/db/repl/replication_coordinator_global.cpp b/src/mongo/db/repl/replication_coordinator_global.cpp deleted file mode 100644 index 81fde5a046a..00000000000 --- a/src/mongo/db/repl/replication_coordinator_global.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright (C) 2014 MongoDB Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - * As a special exception, the copyright holders give permission to link the - * code of portions of this program with the OpenSSL library under certain - * conditions as described in each individual source file and distribute - * linked combinations including the program with the OpenSSL library. You - * must comply with the GNU Affero General Public License in all respects for - * all of the code used other than as permitted herein. If you modify file(s) - * with this exception, you may extend this exception to your version of the - * file(s), but you are not obligated to do so. If you do not wish to do so, - * delete this exception statement from your version. If you delete this - * exception statement from all source files in the program, then also delete - * it in the license file. - */ - -#include "mongo/platform/basic.h" - -#include "mongo/db/repl/replication_coordinator_global.h" -#include "mongo/db/service_context.h" - -namespace mongo { -namespace repl { - -ReplicationCoordinator* getGlobalReplicationCoordinator() { - ReplicationCoordinator* globalReplCoordinator = - ReplicationCoordinator::get(getGlobalServiceContext()); - return globalReplCoordinator; -} - -void setGlobalReplicationCoordinator(ReplicationCoordinator* coord) { - repl::ReplicationCoordinator::set(getGlobalServiceContext(), - std::unique_ptr<ReplicationCoordinator>(coord)); -} -} // namespace repl -} // namespace mongo diff --git a/src/mongo/db/repl/replication_coordinator_global.h b/src/mongo/db/repl/replication_coordinator_global.h deleted file mode 100644 index a18033fd162..00000000000 --- a/src/mongo/db/repl/replication_coordinator_global.h +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Copyright (C) 2014 MongoDB Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - * As a special exception, the copyright holders give permission to link the - * code of portions of this program with the OpenSSL library under certain - * conditions as described in each individual source file and distribute - * linked combinations including the program with the OpenSSL library. You - * must comply with the GNU Affero General Public License in all respects for - * all of the code used other than as permitted herein. If you modify file(s) - * with this exception, you may extend this exception to your version of the - * file(s), but you are not obligated to do so. If you do not wish to do so, - * delete this exception statement from your version. If you delete this - * exception statement from all source files in the program, then also delete - * it in the license file. - */ - -#pragma once - -#include "mongo/db/repl/replication_coordinator.h" - -namespace mongo { -namespace repl { - -ReplicationCoordinator* getGlobalReplicationCoordinator(); -void setGlobalReplicationCoordinator(ReplicationCoordinator* coordinator); - -} // namespace repl -} // namespace mongo diff --git a/src/mongo/db/repl/replication_info.cpp b/src/mongo/db/repl/replication_info.cpp index 199190c5610..396c41ff260 100644 --- a/src/mongo/db/repl/replication_info.cpp +++ b/src/mongo/db/repl/replication_info.cpp @@ -49,7 +49,7 @@ #include "mongo/db/repl/master_slave.h" #include "mongo/db/repl/oplog.h" #include "mongo/db/repl/oplogreader.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/repl/replication_process.h" #include "mongo/db/repl/storage_interface.h" #include "mongo/db/server_parameters.h" diff --git a/src/mongo/db/repl/resync.cpp b/src/mongo/db/repl/resync.cpp index cff397f8589..4141485cb93 100644 --- a/src/mongo/db/repl/resync.cpp +++ b/src/mongo/db/repl/resync.cpp @@ -30,7 +30,7 @@ #include "mongo/db/concurrency/d_concurrency.h" #include "mongo/db/operation_context.h" #include "mongo/db/repl/master_slave.h" // replSettings -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" namespace mongo { diff --git a/src/mongo/db/repl/storage_interface_impl.cpp b/src/mongo/db/repl/storage_interface_impl.cpp index 10b4684ba64..7d127709294 100644 --- a/src/mongo/db/repl/storage_interface_impl.cpp +++ b/src/mongo/db/repl/storage_interface_impl.cpp @@ -71,7 +71,6 @@ #include "mongo/db/repl/collection_bulk_loader_impl.h" #include "mongo/db/repl/oplog.h" #include "mongo/db/repl/replication_coordinator.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/repl/rollback_gen.h" #include "mongo/db/service_context.h" #include "mongo/util/assert_util.h" diff --git a/src/mongo/db/repl/sync_tail.cpp b/src/mongo/db/repl/sync_tail.cpp index 0f715f1ce60..a871cfb79e8 100644 --- a/src/mongo/db/repl/sync_tail.cpp +++ b/src/mongo/db/repl/sync_tail.cpp @@ -66,7 +66,6 @@ #include "mongo/db/repl/repl_client_info.h" #include "mongo/db/repl/repl_set_config.h" #include "mongo/db/repl/replication_coordinator.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/repl/replication_process.h" #include "mongo/db/repl/storage_interface.h" #include "mongo/db/server_parameters.h" diff --git a/src/mongo/db/repl/sync_tail_test.cpp b/src/mongo/db/repl/sync_tail_test.cpp index bf818d354e4..8007c8e67a3 100644 --- a/src/mongo/db/repl/sync_tail_test.cpp +++ b/src/mongo/db/repl/sync_tail_test.cpp @@ -55,7 +55,7 @@ #include "mongo/db/repl/oplog.h" #include "mongo/db/repl/oplog_interface_local.h" #include "mongo/db/repl/replication_consistency_markers_mock.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/repl/replication_coordinator_mock.h" #include "mongo/db/repl/replication_process.h" #include "mongo/db/repl/storage_interface.h" @@ -1613,7 +1613,8 @@ TEST_F(IdempotencyTest, CreateCollectionWithValidation) { } TEST_F(IdempotencyTest, CreateCollectionWithCollation) { - ASSERT_OK(getGlobalReplicationCoordinator()->setFollowerMode(MemberState::RS_RECOVERING)); + ASSERT_OK(ReplicationCoordinator::get(getGlobalServiceContext()) + ->setFollowerMode(MemberState::RS_RECOVERING)); ASSERT_OK(runOpInitialSync(createCollection())); CollectionUUID uuid = UUID::gen(); @@ -1659,7 +1660,8 @@ TEST_F(IdempotencyTest, CreateCollectionWithCollation) { } TEST_F(IdempotencyTest, CreateCollectionWithIdIndex) { - ASSERT_OK(getGlobalReplicationCoordinator()->setFollowerMode(MemberState::RS_RECOVERING)); + ASSERT_OK(ReplicationCoordinator::get(getGlobalServiceContext()) + ->setFollowerMode(MemberState::RS_RECOVERING)); CollectionUUID uuid = UUID::gen(); auto options1 = BSON("idIndex" << BSON("key" << fromjson("{_id: 1}") << "name" @@ -1691,7 +1693,8 @@ TEST_F(IdempotencyTest, CreateCollectionWithIdIndex) { } TEST_F(IdempotencyTest, CreateCollectionWithView) { - ASSERT_OK(getGlobalReplicationCoordinator()->setFollowerMode(MemberState::RS_RECOVERING)); + ASSERT_OK(ReplicationCoordinator::get(getGlobalServiceContext()) + ->setFollowerMode(MemberState::RS_RECOVERING)); CollectionOptions options; options.uuid = UUID::gen(); @@ -1713,7 +1716,8 @@ TEST_F(IdempotencyTest, CreateCollectionWithView) { } TEST_F(IdempotencyTest, CollModNamespaceNotFound) { - ASSERT_OK(getGlobalReplicationCoordinator()->setFollowerMode(MemberState::RS_RECOVERING)); + ASSERT_OK(ReplicationCoordinator::get(getGlobalServiceContext()) + ->setFollowerMode(MemberState::RS_RECOVERING)); ASSERT_OK(runOpInitialSync(createCollection())); ASSERT_OK( @@ -1729,7 +1733,8 @@ TEST_F(IdempotencyTest, CollModNamespaceNotFound) { } TEST_F(IdempotencyTest, CollModIndexNotFound) { - ASSERT_OK(getGlobalReplicationCoordinator()->setFollowerMode(MemberState::RS_RECOVERING)); + ASSERT_OK(ReplicationCoordinator::get(getGlobalServiceContext()) + ->setFollowerMode(MemberState::RS_RECOVERING)); ASSERT_OK(runOpInitialSync(createCollection())); ASSERT_OK( diff --git a/src/mongo/db/s/SConscript b/src/mongo/db/s/SConscript index b894268d9a6..cda73aa0065 100644 --- a/src/mongo/db/s/SConscript +++ b/src/mongo/db/s/SConscript @@ -230,7 +230,7 @@ env.Library( '$BUILD_DIR/mongo/db/commands/dcommands_fcv', '$BUILD_DIR/mongo/db/commands/server_status', '$BUILD_DIR/mongo/db/index_d', - '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', + '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/s/commands/shared_cluster_commands', 'balancer', 'sharding_catalog_manager', diff --git a/src/mongo/db/s/chunk_move_write_concern_options.cpp b/src/mongo/db/s/chunk_move_write_concern_options.cpp index 2f2d7452b7b..7cccc644789 100644 --- a/src/mongo/db/s/chunk_move_write_concern_options.cpp +++ b/src/mongo/db/s/chunk_move_write_concern_options.cpp @@ -34,7 +34,7 @@ #include "mongo/base/status_with.h" #include "mongo/db/operation_context.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/service_context.h" #include "mongo/s/request_types/migration_secondary_throttle_options.h" #include "mongo/util/log.h" diff --git a/src/mongo/db/s/sharding_egress_metadata_hook_for_mongod.cpp b/src/mongo/db/s/sharding_egress_metadata_hook_for_mongod.cpp index b87497437bf..5c0cab7d560 100644 --- a/src/mongo/db/s/sharding_egress_metadata_hook_for_mongod.cpp +++ b/src/mongo/db/s/sharding_egress_metadata_hook_for_mongod.cpp @@ -33,7 +33,7 @@ #include "mongo/db/s/sharding_egress_metadata_hook_for_mongod.h" #include "mongo/base/status.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/server_options.h" #include "mongo/s/grid.h" diff --git a/src/mongo/db/service_entry_point_common.cpp b/src/mongo/db/service_entry_point_common.cpp index bf482e3a8b8..f724a8a561d 100644 --- a/src/mongo/db/service_entry_point_common.cpp +++ b/src/mongo/db/service_entry_point_common.cpp @@ -60,7 +60,7 @@ #include "mongo/db/repl/optime.h" #include "mongo/db/repl/read_concern_args.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/s/operation_sharding_state.h" #include "mongo/db/s/shard_filtering_metadata_refresh.h" #include "mongo/db/s/sharded_connection_info.h" diff --git a/src/mongo/db/storage/ephemeral_for_test/SConscript b/src/mongo/db/storage/ephemeral_for_test/SConscript index f96900c9375..fdcf89ba82a 100644 --- a/src/mongo/db/storage/ephemeral_for_test/SConscript +++ b/src/mongo/db/storage/ephemeral_for_test/SConscript @@ -28,7 +28,7 @@ env.Library( '$BUILD_DIR/mongo/db/namespace_string', '$BUILD_DIR/mongo/db/catalog/collection_options', '$BUILD_DIR/mongo/db/index/index_descriptor', - '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', + '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/storage/index_entry_comparison', '$BUILD_DIR/mongo/db/storage/journal_listener', '$BUILD_DIR/mongo/db/storage/kv/kv_prefix', diff --git a/src/mongo/db/storage/ephemeral_for_test/ephemeral_for_test_recovery_unit.cpp b/src/mongo/db/storage/ephemeral_for_test/ephemeral_for_test_recovery_unit.cpp index 288cdc7ee5e..800b6b6f1cc 100644 --- a/src/mongo/db/storage/ephemeral_for_test/ephemeral_for_test_recovery_unit.cpp +++ b/src/mongo/db/storage/ephemeral_for_test/ephemeral_for_test_recovery_unit.cpp @@ -32,7 +32,6 @@ #include "mongo/db/storage/ephemeral_for_test/ephemeral_for_test_recovery_unit.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/storage/sorted_data_interface.h" #include "mongo/util/log.h" diff --git a/src/mongo/db/storage/kv/kv_storage_engine_test.cpp b/src/mongo/db/storage/kv/kv_storage_engine_test.cpp index 7e0b0bfec7a..4330a4906fa 100644 --- a/src/mongo/db/storage/kv/kv_storage_engine_test.cpp +++ b/src/mongo/db/storage/kv/kv_storage_engine_test.cpp @@ -37,7 +37,6 @@ #include "mongo/db/operation_context_noop.h" #include "mongo/db/repair_database.h" #include "mongo/db/repl/repl_settings.h" -#include "mongo/db/repl/replication_coordinator_global.h" #include "mongo/db/repl/replication_coordinator_mock.h" #include "mongo/db/service_context_d_test_fixture.h" #include "mongo/db/storage/ephemeral_for_test/ephemeral_for_test_engine.h" @@ -179,8 +178,10 @@ TEST_F(KVStorageEngineTest, ReconcileIdentsTest) { } TEST_F(KVStorageEngineTest, RecreateIndexes) { - repl::setGlobalReplicationCoordinator( - new repl::ReplicationCoordinatorMock(getGlobalServiceContext(), repl::ReplSettings())); + repl::ReplicationCoordinator::set( + getGlobalServiceContext(), + std::unique_ptr<repl::ReplicationCoordinator>( + new repl::ReplicationCoordinatorMock(getGlobalServiceContext(), repl::ReplSettings()))); auto opCtx = cc().makeOperationContext(); diff --git a/src/mongo/db/ttl.cpp b/src/mongo/db/ttl.cpp index da37aecd0cb..fd08ff8a7d3 100644 --- a/src/mongo/db/ttl.cpp +++ b/src/mongo/db/ttl.cpp @@ -52,7 +52,7 @@ #include "mongo/db/namespace_string.h" #include "mongo/db/ops/insert.h" #include "mongo/db/query/internal_plans.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/server_parameters.h" #include "mongo/db/ttl_collection_cache.h" #include "mongo/util/background.h" diff --git a/src/mongo/db/views/view_sharding_check.cpp b/src/mongo/db/views/view_sharding_check.cpp index 9f14452bbd6..9f6301dda12 100644 --- a/src/mongo/db/views/view_sharding_check.cpp +++ b/src/mongo/db/views/view_sharding_check.cpp @@ -34,7 +34,7 @@ #include "mongo/db/commands.h" #include "mongo/db/db_raii.h" #include "mongo/db/operation_context.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/s/collection_sharding_state.h" #include "mongo/db/s/sharding_state.h" #include "mongo/db/server_options.h" diff --git a/src/mongo/db/write_concern.cpp b/src/mongo/db/write_concern.cpp index c29254226e2..0668e4c54ad 100644 --- a/src/mongo/db/write_concern.cpp +++ b/src/mongo/db/write_concern.cpp @@ -38,7 +38,7 @@ #include "mongo/db/commands/server_status_metric.h" #include "mongo/db/operation_context.h" #include "mongo/db/repl/optime.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/server_options.h" #include "mongo/db/service_context.h" #include "mongo/db/stats/timer_stats.h" diff --git a/src/mongo/dbtests/SConscript b/src/mongo/dbtests/SConscript index 93e46007afc..ca58e8a4c4b 100644 --- a/src/mongo/dbtests/SConscript +++ b/src/mongo/dbtests/SConscript @@ -129,7 +129,7 @@ dbtest = env.Program( "$BUILD_DIR/mongo/db/query/query_planner_test_lib", "$BUILD_DIR/mongo/db/query/query_test_service_context", "$BUILD_DIR/mongo/db/repl/drop_pending_collection_reaper", - "$BUILD_DIR/mongo/db/repl/repl_coordinator_global", + "$BUILD_DIR/mongo/db/repl/repl_coordinator_interface", "$BUILD_DIR/mongo/db/repl/replication_consistency_markers_impl", "$BUILD_DIR/mongo/db/repl/replmocks", "$BUILD_DIR/mongo/db/repl/storage_interface_impl", diff --git a/src/mongo/dbtests/dbtests.cpp b/src/mongo/dbtests/dbtests.cpp index 3cf58407b53..c70cd36807f 100644 --- a/src/mongo/dbtests/dbtests.cpp +++ b/src/mongo/dbtests/dbtests.cpp @@ -44,7 +44,7 @@ #include "mongo/db/index/index_descriptor.h" #include "mongo/db/logical_clock.h" #include "mongo/db/repl/drop_pending_collection_reaper.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/repl/replication_coordinator_mock.h" #include "mongo/db/repl/storage_interface_mock.h" #include "mongo/db/service_context.h" @@ -152,9 +152,11 @@ int dbtestsMain(int argc, char** argv, char** envp) { preciseClock->advance(Seconds(1)); service->setPreciseClockSource(std::move(preciseClock)); - repl::setGlobalReplicationCoordinator( - new repl::ReplicationCoordinatorMock(service, replSettings)); - repl::getGlobalReplicationCoordinator() + repl::ReplicationCoordinator::set( + service, + std::unique_ptr<repl::ReplicationCoordinator>( + new repl::ReplicationCoordinatorMock(service, replSettings))); + repl::ReplicationCoordinator::get(getGlobalServiceContext()) ->setFollowerMode(repl::MemberState::RS_PRIMARY) .ignore(); diff --git a/src/mongo/dbtests/repltests.cpp b/src/mongo/dbtests/repltests.cpp index cf66f4a4299..6306c4ce0db 100644 --- a/src/mongo/dbtests/repltests.cpp +++ b/src/mongo/dbtests/repltests.cpp @@ -48,7 +48,7 @@ #include "mongo/db/repl/master_slave.h" #include "mongo/db/repl/oplog.h" #include "mongo/db/repl/repl_client_info.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/repl/replication_coordinator_mock.h" #include "mongo/db/repl/sync_tail.h" #include "mongo/dbtests/dbtests.h" @@ -102,7 +102,9 @@ protected: public: Base() - : _client(&_opCtx), _defaultReplSettings(getGlobalReplicationCoordinator()->getSettings()) { + : _client(&_opCtx), + _defaultReplSettings( + ReplicationCoordinator::get(getGlobalServiceContext())->getSettings()) { // Replication is not supported by mobile SE. if (mongo::storageGlobalParams.engine == "mobile") { return; @@ -110,8 +112,10 @@ public: ReplSettings replSettings; replSettings.setOplogSizeBytes(10 * 1024 * 1024); replSettings.setMaster(true); - setGlobalReplicationCoordinator( - new repl::ReplicationCoordinatorMock(_opCtx.getServiceContext(), replSettings)); + ReplicationCoordinator::set( + getGlobalServiceContext(), + std::unique_ptr<repl::ReplicationCoordinator>( + new repl::ReplicationCoordinatorMock(_opCtx.getServiceContext(), replSettings))); // Since the Client object persists across tests, even though the global // ReplicationCoordinator does not, we need to clear the last op associated with the client @@ -142,9 +146,11 @@ public: try { deleteAll(ns()); deleteAll(cllNS()); - setGlobalReplicationCoordinator(new repl::ReplicationCoordinatorMock( - _opCtx.getServiceContext(), _defaultReplSettings)); - repl::getGlobalReplicationCoordinator() + repl::ReplicationCoordinator::set( + getGlobalServiceContext(), + std::unique_ptr<repl::ReplicationCoordinator>(new repl::ReplicationCoordinatorMock( + _opCtx.getServiceContext(), _defaultReplSettings))); + repl::ReplicationCoordinator::get(getGlobalServiceContext()) ->setFollowerMode(repl::MemberState::RS_PRIMARY) .ignore(); diff --git a/src/mongo/dbtests/storage_timestamp_tests.cpp b/src/mongo/dbtests/storage_timestamp_tests.cpp index 96ae39ebe48..e04f1a6e9cf 100644 --- a/src/mongo/dbtests/storage_timestamp_tests.cpp +++ b/src/mongo/dbtests/storage_timestamp_tests.cpp @@ -57,7 +57,7 @@ #include "mongo/db/repl/repl_client_info.h" #include "mongo/db/repl/replication_consistency_markers_impl.h" #include "mongo/db/repl/replication_consistency_markers_mock.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/repl/replication_coordinator_mock.h" #include "mongo/db/repl/replication_process.h" #include "mongo/db/repl/replication_recovery_mock.h" @@ -103,7 +103,9 @@ public: new repl::ReplicationCoordinatorMock(_opCtx->getServiceContext(), replSettings); _coordinatorMock = coordinatorMock; coordinatorMock->alwaysAllowWrites(true); - setGlobalReplicationCoordinator(coordinatorMock); + repl::ReplicationCoordinator::set( + _opCtx->getServiceContext(), + std::unique_ptr<repl::ReplicationCoordinator>(coordinatorMock)); repl::StorageInterface::set(_opCtx->getServiceContext(), stdx::make_unique<repl::StorageInterfaceImpl>()); @@ -300,7 +302,8 @@ public: } void setReplCoordAppliedOpTime(const repl::OpTime& opTime) { - repl::getGlobalReplicationCoordinator()->setMyLastAppliedOpTime(opTime); + repl::ReplicationCoordinator::get(getGlobalServiceContext()) + ->setMyLastAppliedOpTime(opTime); } /** diff --git a/src/mongo/s/SConscript b/src/mongo/s/SConscript index c6d286efa4b..722599088bb 100644 --- a/src/mongo/s/SConscript +++ b/src/mongo/s/SConscript @@ -325,7 +325,7 @@ env.Library( ], LIBDEPS=[ '$BUILD_DIR/mongo/db/audit', - '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', + '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/util/concurrency/thread_pool', 'grid', ], diff --git a/src/mongo/s/client/SConscript b/src/mongo/s/client/SConscript index 1089e992f52..42c73e33b15 100644 --- a/src/mongo/s/client/SConscript +++ b/src/mongo/s/client/SConscript @@ -74,7 +74,7 @@ env.Library( ], LIBDEPS=[ '$BUILD_DIR/mongo/client/clientdriver', - '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', + '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', 'rs_local_client', 'shard_interface' ], diff --git a/src/mongo/s/client/shard_local.cpp b/src/mongo/s/client/shard_local.cpp index b9bca14bd9e..b97ad3dc893 100644 --- a/src/mongo/s/client/shard_local.cpp +++ b/src/mongo/s/client/shard_local.cpp @@ -41,7 +41,7 @@ #include "mongo/db/dbdirectclient.h" #include "mongo/db/repl/repl_client_info.h" #include "mongo/db/repl/repl_set_config.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/rpc/get_status_from_command_result.h" #include "mongo/rpc/unique_message.h" #include "mongo/util/log.h" @@ -56,7 +56,9 @@ ShardLocal::ShardLocal(const ShardId& id) : Shard(id), _rsLocalClient() { } const ConnectionString ShardLocal::getConnString() const { - return repl::getGlobalReplicationCoordinator()->getConfig().getConnectionString(); + return repl::ReplicationCoordinator::get(getGlobalServiceContext()) + ->getConfig() + .getConnectionString(); } std::shared_ptr<RemoteCommandTargeter> ShardLocal::getTargeter() const { diff --git a/src/mongo/s/client/shard_local_test.cpp b/src/mongo/s/client/shard_local_test.cpp index a4760feff40..2eaabd74703 100644 --- a/src/mongo/s/client/shard_local_test.cpp +++ b/src/mongo/s/client/shard_local_test.cpp @@ -35,7 +35,7 @@ #include "mongo/db/client.h" #include "mongo/db/query/cursor_response.h" #include "mongo/db/query/find_and_modify_request.h" -#include "mongo/db/repl/replication_coordinator_global.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/repl/replication_coordinator_mock.h" #include "mongo/db/service_context_d_test_fixture.h" #include "mongo/db/write_concern_options.h" @@ -85,16 +85,18 @@ void ShardLocalTest::setUp() { serverGlobalParams.clusterRole = ClusterRole::ConfigServer; _shardLocal = stdx::make_unique<ShardLocal>(ShardRegistry::kConfigServerShardId); const repl::ReplSettings replSettings = {}; - repl::setGlobalReplicationCoordinator( - new repl::ReplicationCoordinatorMock(_opCtx->getServiceContext(), replSettings)); - ASSERT_OK( - repl::getGlobalReplicationCoordinator()->setFollowerMode(repl::MemberState::RS_PRIMARY)); + repl::ReplicationCoordinator::set( + getGlobalServiceContext(), + std::unique_ptr<repl::ReplicationCoordinator>( + new repl::ReplicationCoordinatorMock(_opCtx->getServiceContext(), replSettings))); + ASSERT_OK(repl::ReplicationCoordinator::get(getGlobalServiceContext()) + ->setFollowerMode(repl::MemberState::RS_PRIMARY)); } void ShardLocalTest::tearDown() { _opCtx.reset(); ServiceContextMongoDTest::tearDown(); - repl::setGlobalReplicationCoordinator(nullptr); + repl::ReplicationCoordinator::set(getGlobalServiceContext(), nullptr); } StatusWith<Shard::CommandResponse> ShardLocalTest::runFindAndModifyRunCommand(NamespaceString nss, |