summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEsha Maharishi <esha.maharishi@mongodb.com>2021-12-14 07:47:23 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-12-17 17:14:57 +0000
commit7e8cbd4f9d46dccbc298256f7914243ccd573bdf (patch)
treedc9396b8017e05fa22b246469ad735fd72dd1671
parentf997e000ca1b52f529755e3dde404dc73b2e68be (diff)
downloadmongo-7e8cbd4f9d46dccbc298256f7914243ccd573bdf.tar.gz
SERVER-61844 Allow mongos and mongoq to have different startup initialization
-rw-r--r--src/mongo/s/SConscript27
-rw-r--r--src/mongo/s/mongos_main.cpp2
-rw-r--r--src/mongo/s/mongos_options.cpp2
-rw-r--r--src/mongo/s/version_mongos.cpp2
-rw-r--r--src/mongo/s/version_mongos.h2
-rw-r--r--src/mongo/util/version.cpp8
-rw-r--r--src/mongo/util/version.h5
7 files changed, 33 insertions, 15 deletions
diff --git a/src/mongo/s/SConscript b/src/mongo/s/SConscript
index 35c445c995e..ee70b48fe08 100644
--- a/src/mongo/s/SConscript
+++ b/src/mongo/s/SConscript
@@ -430,6 +430,25 @@ env.Library(
)
env.Library(
+ target='startup_initialization',
+ source=[
+ 'service_entry_point_mongos.cpp',
+ 'sharding_uptime_reporter.cpp',
+ ],
+ LIBDEPS_PRIVATE=[
+ '$BUILD_DIR/mongo/db/not_primary_error_tracker',
+ '$BUILD_DIR/mongo/db/read_write_concern_defaults',
+ '$BUILD_DIR/mongo/db/session_catalog',
+ 'commands/cluster_commands',
+ 'load_balancer_support',
+ 'sharding_router_api',
+ ],
+ LIBDEPS=[
+ '$BUILD_DIR/mongo/transport/service_entry_point',
+ ],
+)
+
+env.Library(
target='mongos_initializers',
source=[
'cluster_cursor_stats.cpp',
@@ -498,8 +517,6 @@ env.Library(
'mongos_options.cpp',
'mongos_options_init.cpp',
'mongos_options.idl',
- 'service_entry_point_mongos.cpp',
- 'sharding_uptime_reporter.cpp',
'version_mongos.cpp',
],
LIBDEPS_PRIVATE=[
@@ -513,10 +530,7 @@ env.Library(
'$BUILD_DIR/mongo/db/audit',
'$BUILD_DIR/mongo/db/auth/authmongos',
'$BUILD_DIR/mongo/db/commands/rwc_defaults_commands',
- '$BUILD_DIR/mongo/db/commands/servers',
'$BUILD_DIR/mongo/db/ftdc/ftdc_mongos',
- '$BUILD_DIR/mongo/db/log_process_details',
- '$BUILD_DIR/mongo/db/not_primary_error_tracker',
'$BUILD_DIR/mongo/db/process_health/fault_manager',
'$BUILD_DIR/mongo/db/read_write_concern_defaults',
'$BUILD_DIR/mongo/db/serverinit',
@@ -526,8 +540,6 @@ env.Library(
'$BUILD_DIR/mongo/transport/service_entry_point',
'$BUILD_DIR/mongo/transport/transport_layer_manager',
'$BUILD_DIR/mongo/util/latch_analyzer' if get_option('use-diagnostic-latches') == 'on' else [],
- '$BUILD_DIR/mongo/util/net/ssl_manager',
- '$BUILD_DIR/mongo/util/periodic_runner_factory',
'$BUILD_DIR/mongo/util/signal_handlers',
'client/sharding_client',
'commands/cluster_commands',
@@ -539,6 +551,7 @@ env.Library(
'sessions_collection_sharded',
'sharding_initialization',
'sharding_router_api',
+ 'startup_initialization',
],
LIBDEPS=[
# NOTE: This list must remain empty. Please only add to LIBDEPS_PRIVATE
diff --git a/src/mongo/s/mongos_main.cpp b/src/mongo/s/mongos_main.cpp
index 3d65ee6c0d4..0d14e523838 100644
--- a/src/mongo/s/mongos_main.cpp
+++ b/src/mongo/s/mongos_main.cpp
@@ -637,7 +637,7 @@ private:
ExitCode runMongosServer(ServiceContext* serviceContext) {
ThreadClient tc("mongosMain", serviceContext);
- logShardingVersionInfo(nullptr);
+ logMongosVersionInfo(nullptr);
audit::logStartupOptions(tc.get(), serverGlobalParams.parsedOpts);
// Set up the periodic runner for background job execution
diff --git a/src/mongo/s/mongos_options.cpp b/src/mongo/s/mongos_options.cpp
index 2ab56d4e191..d333d1f7fc2 100644
--- a/src/mongo/s/mongos_options.cpp
+++ b/src/mongo/s/mongos_options.cpp
@@ -64,7 +64,7 @@ bool handlePreValidationMongosOptions(const moe::Environment& params,
return false;
}
if (params.count("version") && params["version"].as<bool>() == true) {
- logShardingVersionInfo(&std::cout);
+ logMongosVersionInfo(&std::cout);
return false;
}
if (params.count("test") && params["test"].as<bool>() == true) {
diff --git a/src/mongo/s/version_mongos.cpp b/src/mongo/s/version_mongos.cpp
index 592e2568590..9ca7108e651 100644
--- a/src/mongo/s/version_mongos.cpp
+++ b/src/mongo/s/version_mongos.cpp
@@ -44,7 +44,7 @@
namespace mongo {
-void logShardingVersionInfo(std::ostream* os) {
+void logMongosVersionInfo(std::ostream* os) {
if (os) {
auto&& vii = VersionInfoInterface::instance();
*os << mongosVersion(vii) << std::endl;
diff --git a/src/mongo/s/version_mongos.h b/src/mongo/s/version_mongos.h
index 5a9bde68623..813dafcda7e 100644
--- a/src/mongo/s/version_mongos.h
+++ b/src/mongo/s/version_mongos.h
@@ -38,6 +38,6 @@ namespace mongo {
* NOTE: Outputs the version of MongoS to `os` (as part of the --version option),
* which reports different data than if `os` is null!
*/
-void logShardingVersionInfo(std::ostream* os);
+void logMongosVersionInfo(std::ostream* os);
} // namespace mongo
diff --git a/src/mongo/util/version.cpp b/src/mongo/util/version.cpp
index ae021552818..046a003127c 100644
--- a/src/mongo/util/version.cpp
+++ b/src/mongo/util/version.cpp
@@ -58,10 +58,6 @@
namespace mongo {
namespace {
-std::string formatVersionString(StringData versioned, const VersionInfoInterface& provider) {
- return format(FMT_STRING("{} version v{}"), versioned, provider.version());
-}
-
class FallbackVersionInfo : public VersionInfoInterface {
public:
int majorVersion() const noexcept final {
@@ -247,6 +243,10 @@ void VersionInfoInterface::logBuildInfo(std::ostream* os) const {
}
}
+std::string formatVersionString(StringData versioned, const VersionInfoInterface& provider) {
+ return format(FMT_STRING("{} version v{}"), versioned, provider.version());
+}
+
std::string mongoShellVersion(const VersionInfoInterface& provider) {
return formatVersionString("MongoDB shell", provider);
}
diff --git a/src/mongo/util/version.h b/src/mongo/util/version.h
index 04ed69e4275..ffbf3aa730f 100644
--- a/src/mongo/util/version.h
+++ b/src/mongo/util/version.h
@@ -170,6 +170,11 @@ protected:
};
/**
+ * Returns a pretty string describing the provided binary's version.
+ */
+std::string formatVersionString(StringData versioned, const VersionInfoInterface& provider);
+
+/**
* Returns a pretty string describing the current shell version.
*/
std::string mongoShellVersion(const VersionInfoInterface& provider);