summaryrefslogtreecommitdiff
path: root/src/mongo/embedded/embedded.cpp
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2018-12-21 05:57:36 -0500
committerBenety Goh <benety@mongodb.com>2018-12-21 05:57:36 -0500
commit6acd02f6395669be9a470bdc4b2689c5e889b050 (patch)
treea503a5763312b78b61d9d361802ba16096ebc738 /src/mongo/embedded/embedded.cpp
parentbfddc5baaaa6cbbed435c7749cc740ecadd154f9 (diff)
downloadmongo-6acd02f6395669be9a470bdc4b2689c5e889b050.tar.gz
SERVER-38719 unshim and remove DatabaseHolder::getDatabaseHolder()
This adds the requirement for a DatabaseHolder instance to be registered with the global service context at startup.
Diffstat (limited to 'src/mongo/embedded/embedded.cpp')
-rw-r--r--src/mongo/embedded/embedded.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mongo/embedded/embedded.cpp b/src/mongo/embedded/embedded.cpp
index 525a4a7d2a3..c190620a0ae 100644
--- a/src/mongo/embedded/embedded.cpp
+++ b/src/mongo/embedded/embedded.cpp
@@ -36,7 +36,7 @@
#include "mongo/base/initializer.h"
#include "mongo/config.h"
-#include "mongo/db/catalog/database_holder.h"
+#include "mongo/db/catalog/database_holder_impl.h"
#include "mongo/db/catalog/health_log.h"
#include "mongo/db/catalog/index_key_validate.h"
#include "mongo/db/catalog/uuid_catalog.h"
@@ -99,6 +99,10 @@ MONGO_INITIALIZER_GENERAL(ForkServer, ("EndStartupOptionHandling"), ("default"))
return Status::OK();
}
+void setUpCatalog(ServiceContext* serviceContext) {
+ DatabaseHolder::set(serviceContext, std::make_unique<DatabaseHolderImpl>());
+}
+
// Create a minimalistic replication coordinator to provide a limited interface for users. Not
// functional to provide any replication logic.
ServiceContext::ConstructorActionRegisterer replicationManagerInitializer(
@@ -229,6 +233,7 @@ ServiceContext* initialize(const char* yaml_config) {
serviceContext->setPeriodicRunner(std::move(periodicRunner));
initializeStorageEngine(serviceContext, StorageEngineInitFlags::kAllowNoLockFile);
+ setUpCatalog(serviceContext);
// Warn if we detect configurations for multiple registered storage engines in the same
// configuration file/environment.