diff options
Diffstat (limited to 'searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp')
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp index 8fce39e5ede..1e43c7e8d28 100644 --- a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "storeonlydocsubdb.h" #include "docstorevalidator.h" @@ -268,11 +268,11 @@ createDocumentMetaStoreInitializer(const AllocStrategy& alloc_strategy, void -StoreOnlyDocSubDB::setupDocumentMetaStore(DocumentMetaStoreInitializerResult::SP dmsResult) +StoreOnlyDocSubDB::setupDocumentMetaStore(const DocumentMetaStoreInitializerResult & dmsResult) { vespalib::string baseDir(_baseDir + "/documentmetastore"); vespalib::string name = DocumentMetaStore::getFixedName(); - DocumentMetaStore::SP dms(dmsResult->documentMetaStore()); + DocumentMetaStore::SP dms(dmsResult.documentMetaStore()); if (dms->isLoaded()) { _flushedDocumentMetaStoreSerialNum = dms->getStatus().getLastSyncToken(); } @@ -281,7 +281,7 @@ StoreOnlyDocSubDB::setupDocumentMetaStore(DocumentMetaStoreInitializerResult::SP LOG(debug, "Added document meta store '%s' with flushed serial num %" PRIu64, name.c_str(), _flushedDocumentMetaStoreSerialNum); _dms = dms; - _dmsFlushTarget = std::make_shared<DocumentMetaStoreFlushTarget>(dms, _tlsSyncer, baseDir, dmsResult->tuneFile(), + _dmsFlushTarget = std::make_shared<DocumentMetaStoreFlushTarget>(dms, _tlsSyncer, baseDir, dmsResult.tuneFile(), _fileHeaderContext, _hwInfo); using Type = IFlushTarget::Type; using Component = IFlushTarget::Component; @@ -291,6 +291,19 @@ StoreOnlyDocSubDB::setupDocumentMetaStore(DocumentMetaStoreInitializerResult::SP _lastConfiguredCompactionStrategy = dms->getConfig().getCompactionStrategy(); } +namespace { + +search::LogDocumentStore::Config +createStoreConfig(const search::LogDocumentStore::Config &original, SubDbType subDbType) { + search::LogDocumentStore::Config cfg = original; + if (subDbType == SubDbType::REMOVED) { + cfg.disableCache(); + } + return cfg; +} + +} + DocumentSubDbInitializer::UP StoreOnlyDocSubDB::createInitializer(const DocumentDBConfig &configSnapshot, SerialNum , const IndexConfig &) const { @@ -301,7 +314,7 @@ StoreOnlyDocSubDB::createInitializer(const DocumentDBConfig &configSnapshot, Ser configSnapshot.getTuneFileDocumentDBSP()->_attr, result->writableResult().writableDocumentMetaStore()); result->addDocumentMetaStoreInitTask(dmsInitTask); - auto summaryTask = createSummaryManagerInitializer(configSnapshot.getStoreConfig(), + auto summaryTask = createSummaryManagerInitializer(createStoreConfig(configSnapshot.getStoreConfig(), _subDbType), alloc_strategy, configSnapshot.getTuneFileDocumentDBSP()->_summary, result->result().documentMetaStore()->documentMetaStore(), @@ -316,7 +329,7 @@ StoreOnlyDocSubDB::createInitializer(const DocumentDBConfig &configSnapshot, Ser void StoreOnlyDocSubDB::setup(const DocumentSubDbInitializerResult &initResult) { - setupDocumentMetaStore(initResult.documentMetaStore()); + setupDocumentMetaStore(*initResult.documentMetaStore()); setupSummaryManager(initResult.summaryManager()); } |