diff options
author | Benety Goh <benety@mongodb.com> | 2018-12-21 05:57:36 -0500 |
---|---|---|
committer | Benety Goh <benety@mongodb.com> | 2018-12-21 05:57:36 -0500 |
commit | 6acd02f6395669be9a470bdc4b2689c5e889b050 (patch) | |
tree | a503a5763312b78b61d9d361802ba16096ebc738 /src/mongo/embedded/embedded.cpp | |
parent | bfddc5baaaa6cbbed435c7749cc740ecadd154f9 (diff) | |
download | mongo-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.cpp | 7 |
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. |