SERVER-112680 Finalize modularity for replication-owned modules (#43396)

GitOrigin-RevId: 410d8316b890dabfef45d912f5d271d985a21b4b
This commit is contained in:
gitpushjoe 2025-11-03 16:36:25 -05:00 committed by MongoDB Bot
parent de0ffe6a8b
commit b880f00b13
17 changed files with 50 additions and 13 deletions

View File

@ -379,6 +379,7 @@ transactions:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/cluster_command_translations.h
- src/mongo/db/commands/*transaction*
@ -407,6 +408,7 @@ fcv:
meta:
slack: server-fcv
jira: Replication
fully_marked: true
files:
- src/mongo/db/feature_compatibility*
- src/mongo/db/commands/feature_compatibility*
@ -976,7 +978,8 @@ installer:
replicated_storage_service:
meta:
slack: server-replication
jira: Server Replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/rss
@ -984,6 +987,7 @@ replication.hello:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/repl/hello/
- src/mongo/db/repl/replication_info.cpp
@ -992,6 +996,7 @@ replication.initial_sync:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/modules/enterprise/src/fcbis/
- src/mongo/db/repl/initial_sync/
@ -1003,6 +1008,7 @@ replication.configs:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/repl/*repl_set_config*
- src/mongo/db/repl/*member_config*
@ -1018,6 +1024,7 @@ replication.oplog:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/op_observer/op_observer*
- src/mongo/db/op_observer/operation_logger*
@ -1046,6 +1053,7 @@ replication.server_rw_concerns:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/commands/server_status/read_write_concern_defaults_server_status.cpp
- src/mongo/db/*read_concern*
@ -1061,6 +1069,7 @@ replication.rs_aware_service:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/repl/*primary_only_service*
- src/mongo/db/repl/*replica_set_aware_service*
@ -1070,6 +1079,7 @@ replication.recovery:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/repl/*replication_recovery*
- src/mongo/db/repl/*rollback*
@ -1082,6 +1092,7 @@ replication.replication_coordinator:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/repl/*replication_coordinator*
- src/mongo/db/repl/*external_state*
@ -1107,6 +1118,7 @@ replication.utils:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/repl/*parsing_utils*
- src/mongo/db/repl/*delayable_timeout_callback*
@ -1127,6 +1139,7 @@ replication.repl_client_info:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/repl/*repl_client_info*
- src/mongo/db/repl/*repl_set_member_in_standalone_mode*
@ -1135,6 +1148,7 @@ replication.commands:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/repl/*repl_set_command*
- src/mongo/db/repl/*repl_set_commands*
@ -1147,6 +1161,7 @@ replication.testing:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/repl/*mock_repl_coord*
- src/mongo/db/repl/*repl_set_test_egress*
@ -1161,6 +1176,7 @@ replication.split_horizon:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/repl/split_horizon/
@ -1168,6 +1184,7 @@ replication.intent:
meta:
slack: server-replication
jira: Replication
fully_marked: true
files:
- src/mongo/db/repl/*intent*
- src/mongo/db/replication_state_transition_lock_guard*

View File

@ -38,11 +38,12 @@
#include "mongo/db/operation_context.h"
#include "mongo/db/repl/storage_interface.h"
#include "mongo/db/server_options.h"
#include "mongo/util/modules.h"
#include "mongo/util/version/releases.h"
#include <boost/optional/optional.hpp>
namespace mongo {
namespace MONGO_MOD_PUB mongo {
class FeatureCompatibilityVersion {
public:
@ -179,4 +180,4 @@ private:
Lock::SharedLock _lk;
};
} // namespace mongo
} // namespace MONGO_MOD_PUB mongo

View File

@ -28,6 +28,7 @@
global:
cpp_namespace: "mongo"
mod_visibility: pub
server_parameters:
featureCompatibilityVersion:

View File

@ -28,6 +28,7 @@
global:
cpp_namespace: "mongo"
mod_visibility: pub
cpp_includes:
- "mongo/db/feature_compatibility_version_parser.h"

View File

@ -27,6 +27,7 @@
#
global:
cpp_namespace: "mongo"
mod_visibility: pub
cpp_includes:
- "mongo/db/feature_compatibility_version_parser.h"

View File

@ -31,20 +31,22 @@
#include "mongo/base/string_data.h"
#include "mongo/db/feature_compatibility_version_parser.h"
#include "mongo/util/modules.h"
#include <fmt/format.h>
namespace mongo::feature_compatibility_version_documentation {
constexpr inline auto kReleaseNotesRoot = "https://docs.mongodb.com/master/release-notes"_sd;
MONGO_MOD_PUB constexpr inline auto kReleaseNotesRoot =
"https://docs.mongodb.com/master/release-notes"_sd;
inline std::string compatibilityLink() {
MONGO_MOD_PUB inline std::string compatibilityLink() {
return fmt::format( //
"{}/{}-compatibility/#feature-compatibility", //
kReleaseNotesRoot, //
multiversion::toString(multiversion::GenericFCV::kLastLTS));
}
inline std::string upgradeLink() {
MONGO_MOD_PUB inline std::string upgradeLink() {
return fmt::format( //
"{}/{}/#upgrade-procedures", //
kReleaseNotesRoot, //

View File

@ -33,6 +33,7 @@
#include "mongo/base/status.h"
#include "mongo/base/status_with.h"
#include "mongo/base/string_data.h"
#include "mongo/util/modules.h"
#include "mongo/util/version/releases.h"
namespace mongo {
@ -42,7 +43,7 @@ namespace mongo {
*
* Also, act as helpers to serialize and deserialize "fcv_string" and "ofcv_string" idl types.
*/
struct FeatureCompatibilityVersionParser {
struct MONGO_MOD_PUB FeatureCompatibilityVersionParser {
using GenericFCV = multiversion::GenericFCV;
using FCV = multiversion::FeatureCompatibilityVersion;

View File

@ -37,6 +37,7 @@
#include "mongo/db/operation_context.h"
#include "mongo/db/repl/oplog.h"
#include "mongo/db/session/logical_session_id.h"
#include "mongo/util/modules.h"
#include "mongo/util/version/releases.h"
#include <vector>
@ -44,7 +45,7 @@
#include <boost/none.hpp>
#include <boost/optional/optional.hpp>
namespace mongo {
namespace MONGO_MOD_PUB mongo {
/**
* OpObserver for Feature Compatibility Version (FCV).
@ -107,4 +108,4 @@ private:
static void _onInsertOrUpdate(OperationContext* opCtx, const BSONObj& doc);
};
} // namespace mongo
} // namespace MONGO_MOD_PUB mongo

View File

@ -52,6 +52,8 @@
namespace mongo {
namespace repl {
class AllDatabaseClonerTest;
class AllDatabaseCloner final : public InitialSyncBaseCloner {
public:
struct Stats {

View File

@ -66,6 +66,8 @@
namespace mongo {
namespace repl {
class CollectionClonerTest;
inline const int kProgressMeterSecondsBetween = 60;
inline const int kProgressMeterCheckInterval = 128;

View File

@ -54,7 +54,9 @@
namespace mongo {
namespace repl {
class DatabaseCloner final : public InitialSyncBaseCloner {
class DatabaseClonerTest;
class MONGO_MOD_PUB DatabaseCloner final : public InitialSyncBaseCloner {
public:
struct Stats {
DatabaseName dbname;

View File

@ -30,6 +30,7 @@
#pragma once
#include "mongo/db/rss/persistence_provider.h"
#include "mongo/util/modules.h"
namespace mongo::rss {

View File

@ -30,6 +30,7 @@
#pragma once
#include "mongo/db/rss/service_lifecycle.h"
#include "mongo/util/modules.h"
namespace mongo::rss {

View File

@ -31,6 +31,7 @@
#include "mongo/base/string_data.h"
#include "mongo/bson/bsonelement.h"
#include "mongo/util/modules.h"
#include <string>
#include <utility>
@ -48,7 +49,7 @@ namespace rss {
* expected behaviors, allowing consumers to act based on these flags, rather than needing to reason
* about how a particular provider would behave in a given context.
*/
class PersistenceProvider {
class MONGO_MOD_OPEN PersistenceProvider {
public:
virtual ~PersistenceProvider() = default;

View File

@ -33,10 +33,11 @@
#include "mongo/db/rss/persistence_provider.h"
#include "mongo/db/rss/service_lifecycle.h"
#include "mongo/db/service_context.h"
#include "mongo/util/modules.h"
namespace mongo::rss {
class ReplicatedStorageService {
class MONGO_MOD_PUB ReplicatedStorageService {
public:
static ReplicatedStorageService& get(ServiceContext*);
static ReplicatedStorageService& get(OperationContext*);

View File

@ -31,6 +31,7 @@
#include "mongo/db/repl/replication_coordinator.h"
#include "mongo/db/service_context.h"
#include "mongo/util/modules.h"
#include <memory>
#include <string>
@ -48,7 +49,7 @@ namespace rss {
* capabilities/behaviors, while this class instead represents a set of setup/teardown and related
* routines.
*/
class ServiceLifecycle {
class MONGO_MOD_OPEN ServiceLifecycle {
public:
virtual ~ServiceLifecycle() = default;

View File

@ -30,6 +30,7 @@
#pragma once
#include "mongo/db/server_options.h"
#include "mongo/util/modules.h"
namespace mongo {
namespace unittest {