aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp')
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp25
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());
}