diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-08-19 11:16:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-19 11:16:50 +0200 |
commit | 5fa4c0b53645b86537fd4441144f30f86c15a930 (patch) | |
tree | c02a182540a9fd68ab993ed6f747d79179eb8230 | |
parent | 5d9f42f32188ea9cc2af6d0ea0b618562e8089ab (diff) | |
parent | 34c1338b258334b2f3827c45a90e1fcb89eb1098 (diff) |
Merge pull request #14096 from vespa-engine/balder/cleanup-prior-inflight-lid-handling
Some cleanup and refactoring.
18 files changed, 64 insertions, 71 deletions
diff --git a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp index 2540a991015..a88b36ea489 100644 --- a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp +++ b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp @@ -404,8 +404,7 @@ public: void setPruneConfig(const DocumentDBPruneRemovedDocumentsConfig &pruneConfig) { - DocumentDBMaintenanceConfig::SP - newCfg(new DocumentDBMaintenanceConfig( + auto newCfg = std::make_shared<DocumentDBMaintenanceConfig>( pruneConfig, _mcCfg->getHeartBeatConfig(), _mcCfg->getSessionCachePruneInterval(), @@ -414,7 +413,7 @@ public: _mcCfg->getAttributeUsageFilterConfig(), _mcCfg->getAttributeUsageSampleInterval(), _mcCfg->getBlockableJobConfig(), - _mcCfg->getFlushConfig())); + _mcCfg->getFlushConfig()); _mcCfg = newCfg; forwardMaintenanceConfig(); } @@ -422,8 +421,7 @@ public: void setHeartBeatConfig(const DocumentDBHeartBeatConfig &heartBeatConfig) { - DocumentDBMaintenanceConfig::SP - newCfg(new DocumentDBMaintenanceConfig( + auto newCfg = std::make_shared<DocumentDBMaintenanceConfig>( _mcCfg->getPruneRemovedDocumentsConfig(), heartBeatConfig, _mcCfg->getSessionCachePruneInterval(), @@ -432,7 +430,7 @@ public: _mcCfg->getAttributeUsageFilterConfig(), _mcCfg->getAttributeUsageSampleInterval(), _mcCfg->getBlockableJobConfig(), - _mcCfg->getFlushConfig())); + _mcCfg->getFlushConfig()); _mcCfg = newCfg; forwardMaintenanceConfig(); } @@ -440,8 +438,7 @@ public: void setGroupingSessionPruneInterval(vespalib::duration groupingSessionPruneInterval) { - DocumentDBMaintenanceConfig::SP - newCfg(new DocumentDBMaintenanceConfig( + auto newCfg = std::make_shared<DocumentDBMaintenanceConfig>( _mcCfg->getPruneRemovedDocumentsConfig(), _mcCfg->getHeartBeatConfig(), groupingSessionPruneInterval, @@ -450,14 +447,13 @@ public: _mcCfg->getAttributeUsageFilterConfig(), _mcCfg->getAttributeUsageSampleInterval(), _mcCfg->getBlockableJobConfig(), - _mcCfg->getFlushConfig())); + _mcCfg->getFlushConfig()); _mcCfg = newCfg; forwardMaintenanceConfig(); } void setLidSpaceCompactionConfig(const DocumentDBLidSpaceCompactionConfig &cfg) { - DocumentDBMaintenanceConfig::SP - newCfg(new DocumentDBMaintenanceConfig( + auto newCfg = std::make_shared<DocumentDBMaintenanceConfig>( _mcCfg->getPruneRemovedDocumentsConfig(), _mcCfg->getHeartBeatConfig(), _mcCfg->getSessionCachePruneInterval(), @@ -466,21 +462,19 @@ public: _mcCfg->getAttributeUsageFilterConfig(), _mcCfg->getAttributeUsageSampleInterval(), _mcCfg->getBlockableJobConfig(), - _mcCfg->getFlushConfig())); + _mcCfg->getFlushConfig()); _mcCfg = newCfg; forwardMaintenanceConfig(); } void - performNotifyBucketStateChanged(document::BucketId bucketId, - BucketInfo::ActiveState newState) + performNotifyBucketStateChanged(document::BucketId bucketId, BucketInfo::ActiveState newState) { _bucketHandler.notifyBucketStateChanged(bucketId, newState); } void - notifyBucketStateChanged(const document::BucketId &bucketId, - BucketInfo::ActiveState newState) + notifyBucketStateChanged(const document::BucketId &bucketId, BucketInfo::ActiveState newState) { _executor.execute(makeTask(makeClosure(this, &MaintenanceControllerFixture:: @@ -494,7 +488,7 @@ public: MaintenanceDocumentSubDB MyDocumentSubDB::getSubDB() { - IDocumentRetriever::SP retriever(new MyDocumentRetriever(*this)); + auto retriever = std::make_shared<MyDocumentRetriever>(*this); return MaintenanceDocumentSubDB("my_sub_db", _subDBId, _metaStoreSP, diff --git a/searchcore/src/tests/proton/server/visibility_handler/visibility_handler_test.cpp b/searchcore/src/tests/proton/server/visibility_handler/visibility_handler_test.cpp index ca8d0a1d26a..468b3b5b29c 100644 --- a/searchcore/src/tests/proton/server/visibility_handler/visibility_handler_test.cpp +++ b/searchcore/src/tests/proton/server/visibility_handler/visibility_handler_test.cpp @@ -1,13 +1,16 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/log/log.h> -LOG_SETUP("visibility_handler_test"); + #include <vespa/vespalib/testkit/testapp.h> #include <vespa/searchcore/proton/server/visibilityhandler.h> #include <vespa/searchcore/proton/test/dummy_feed_view.h> #include <vespa/searchcore/proton/test/threading_service_observer.h> #include <vespa/searchcore/proton/server/executorthreadingservice.h> +#include <vespa/searchcore/proton/common/pendinglidtracker.h> #include <vespa/vespalib/util/lambdatask.h> +#include <vespa/log/log.h> +LOG_SETUP("visibility_handler_test"); + using search::SerialNum; using proton::IGetSerialNum; using proton::test::DummyFeedView; @@ -25,8 +28,7 @@ class MyGetSerialNum : public IGetSerialNum public: MyGetSerialNum() : _serialNum(0u) - { - } + {} SerialNum getSerialNum() const override { return _serialNum; } void setSerialNum(SerialNum serialNum) { _serialNum = serialNum; } }; @@ -78,8 +80,7 @@ public: _feedViewReal(std::make_shared<MyFeedView>()), _feedView(_feedViewReal), _visibilityHandler(_getSerialNum, _writeService, _feedView) - { - } + {} void checkCommitPostCondition(uint32_t expForceCommitCount, diff --git a/searchcore/src/vespa/searchcore/proton/common/CMakeLists.txt b/searchcore/src/vespa/searchcore/proton/common/CMakeLists.txt index 31bc8116700..be50b8d67a5 100644 --- a/searchcore/src/vespa/searchcore/proton/common/CMakeLists.txt +++ b/searchcore/src/vespa/searchcore/proton/common/CMakeLists.txt @@ -15,6 +15,7 @@ vespa_add_library(searchcore_pcommon STATIC indexschema_inspector.cpp monitored_refcount.cpp operation_rate_tracker.cpp + pendinglidtracker.cpp select_utils.cpp selectcontext.cpp selectpruner.cpp diff --git a/searchcore/src/vespa/searchcore/proton/server/pendinglidtracker.cpp b/searchcore/src/vespa/searchcore/proton/common/pendinglidtracker.cpp index 79bf970aeac..79bf970aeac 100644 --- a/searchcore/src/vespa/searchcore/proton/server/pendinglidtracker.cpp +++ b/searchcore/src/vespa/searchcore/proton/common/pendinglidtracker.cpp diff --git a/searchcore/src/vespa/searchcore/proton/server/pendinglidtracker.h b/searchcore/src/vespa/searchcore/proton/common/pendinglidtracker.h index 4fc718fd465..4fc718fd465 100644 --- a/searchcore/src/vespa/searchcore/proton/server/pendinglidtracker.h +++ b/searchcore/src/vespa/searchcore/proton/common/pendinglidtracker.h diff --git a/searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.cpp b/searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.cpp index 65a19a72fb9..7485f89e635 100644 --- a/searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.cpp +++ b/searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.cpp @@ -90,9 +90,9 @@ DocumentIterator::DocumentIterator(const storage::spi::Bucket &bucket, DocumentIterator::~DocumentIterator() = default; void -DocumentIterator::add(const IDocumentRetriever::SP &retriever) +DocumentIterator::add(IDocumentRetriever::SP retriever) { - _sources.push_back(retriever); + _sources.push_back(std::move(retriever)); } IterateResult diff --git a/searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.h b/searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.h index 4ae3839bfe8..3959c5a235f 100644 --- a/searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.h +++ b/searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.h @@ -40,7 +40,7 @@ public: ssize_t defaultSerializedSize, bool ignoreMaxBytes, ReadConsistency readConsistency=ReadConsistency::STRONG); ~DocumentIterator(); - void add(const IDocumentRetriever::SP &retriever); + void add(IDocumentRetriever::SP retriever); storage::spi::IterateResult iterate(size_t maxBytes); }; diff --git a/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h b/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h index a4bede28d7b..7e3bb903f72 100644 --- a/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h +++ b/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h @@ -26,6 +26,7 @@ protected: public: using UP = std::unique_ptr<IPersistenceHandler>; using SP = std::shared_ptr<IPersistenceHandler>; + /// Note that you can not move awaythe handlers in the vector. using RetrieversSP = std::shared_ptr<std::vector<IDocumentRetriever::SP> >; IPersistenceHandler(const IPersistenceHandler &) = delete; IPersistenceHandler & operator = (const IPersistenceHandler &) = delete; diff --git a/searchcore/src/vespa/searchcore/proton/persistenceengine/persistenceengine.cpp b/searchcore/src/vespa/searchcore/proton/persistenceengine/persistenceengine.cpp index 14a56e7e0bb..55151e23da7 100644 --- a/searchcore/src/vespa/searchcore/proton/persistenceengine/persistenceengine.cpp +++ b/searchcore/src/vespa/searchcore/proton/persistenceengine/persistenceengine.cpp @@ -464,8 +464,8 @@ PersistenceEngine::createIterator(const Bucket &bucket, FieldSetSP fields, const for (PersistenceHandlerSequence & handlers = snapshot.handlers(); handlers.valid(); handlers.next()) { entry->bucket_guards.push_back(handlers.get()->lockBucket(bucket)); IPersistenceHandler::RetrieversSP retrievers = handlers.get()->getDocumentRetrievers(context.getReadConsistency()); - for (size_t i = 0; i < retrievers->size(); ++i) { - entry->it.add((*retrievers)[i]); + for (const auto & retriever : *retrievers) { + entry->it.add(retriever); } } entry->handler_sequence = HandlerSnapshot::release(std::move(snapshot)); diff --git a/searchcore/src/vespa/searchcore/proton/server/CMakeLists.txt b/searchcore/src/vespa/searchcore/proton/server/CMakeLists.txt index bfcd613ed0a..0a3c1015d3a 100644 --- a/searchcore/src/vespa/searchcore/proton/server/CMakeLists.txt +++ b/searchcore/src/vespa/searchcore/proton/server/CMakeLists.txt @@ -70,7 +70,6 @@ vespa_add_library(searchcore_server STATIC minimal_document_retriever.cpp move_operation_limiter.cpp operationdonecontext.cpp - pendinglidtracker.cpp persistencehandlerproxy.cpp prepare_restart_handler.cpp proton.cpp diff --git a/searchcore/src/vespa/searchcore/proton/server/combiningfeedview.cpp b/searchcore/src/vespa/searchcore/proton/server/combiningfeedview.cpp index d25570794fe..2c3f9988fa3 100644 --- a/searchcore/src/vespa/searchcore/proton/server/combiningfeedview.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/combiningfeedview.cpp @@ -37,7 +37,7 @@ CombiningFeedView::CombiningFeedView(const std::vector<IFeedView::SP> &views, _views(views), _metaStores(), _calc(calc), - _clusterUp(calc.get() != NULL && calc->clusterUp()), + _clusterUp(calc && calc->clusterUp()), _forceReady(!_clusterUp || !hasNotReadyFeedView()), _bucketSpace(bucketSpace) { @@ -45,21 +45,19 @@ CombiningFeedView::CombiningFeedView(const std::vector<IFeedView::SP> &views, for (const auto &view : views) { _metaStores.push_back(view->getDocumentMetaStorePtr()); } - assert(getReadyFeedView() != NULL); - assert(getRemFeedView() != NULL); + assert(getReadyFeedView() != nullptr); + assert(getRemFeedView() != nullptr); if (hasNotReadyFeedView()) { - assert(getNotReadyFeedView() != NULL); + assert(getNotReadyFeedView() != nullptr); } } -CombiningFeedView::~CombiningFeedView() -{ -} +CombiningFeedView::~CombiningFeedView() = default; const ISimpleDocumentMetaStore * CombiningFeedView::getDocumentMetaStorePtr() const { - return NULL; + return nullptr; } void @@ -76,12 +74,11 @@ CombiningFeedView::findPrevDbdId(const document::GlobalId &gid, if (subDbId == skipSubDbId) continue; const documentmetastore::IStore *metaStore = _metaStores[subDbId]; - if (metaStore == NULL) + if (metaStore == nullptr) continue; documentmetastore::IStore::Result inspectRes(metaStore->inspectExisting(gid)); if (inspectRes._found) { - op.setPrevDbDocumentId(DbDocumentId(subDbId, - inspectRes._lid)); + op.setPrevDbDocumentId(DbDocumentId(subDbId, inspectRes._lid)); op.setPrevMarkedAsRemoved(subDbId == getRemFeedViewId()); op.setPrevTimestamp(inspectRes._timestamp); break; diff --git a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp index 35c72db0c6f..6093ef06c5b 100644 --- a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp @@ -736,18 +736,7 @@ BucketGuard::UP DocumentDB::lockBucket(const document::BucketId &bucket) std::shared_ptr<std::vector<IDocumentRetriever::SP> > DocumentDB::getDocumentRetrievers(IDocumentRetriever::ReadConsistency consistency) { - std::shared_ptr<std::vector<IDocumentRetriever::SP> > list = _subDBs.getRetrievers(); - - if (consistency == IDocumentRetriever::ReadConsistency::STRONG) { - std::shared_ptr<std::vector<IDocumentRetriever::SP> > wrappedList = std::make_shared<std::vector<IDocumentRetriever::SP>>(); - wrappedList->reserve(list->size()); - for (const IDocumentRetriever::SP & retriever : *list) { - wrappedList->push_back(std::make_shared<CommitAndWaitDocumentRetriever>(retriever, _visibility)); - } - return wrappedList; - } else { - return list; - } + return _subDBs.getRetrievers(consistency, _visibility); } SerialNum diff --git a/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.cpp b/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.cpp index db69704663f..536180fbab4 100644 --- a/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.cpp @@ -129,16 +129,32 @@ DocumentSubDBCollection::createRetrievers() namespace { IDocumentRetriever::SP -wrapRetriever(const IDocumentRetriever::SP &retriever, ICommitable &commit) +wrapRetriever(IDocumentRetriever::SP retriever, ICommitable &commit) { - return std::make_shared<CommitAndWaitDocumentRetriever>(retriever, commit); + return std::make_shared<CommitAndWaitDocumentRetriever>(std::move(retriever), commit); } } +DocumentSubDBCollection::RetrieversSP +DocumentSubDBCollection::getRetrievers(IDocumentRetriever::ReadConsistency consistency, ICommitable & visibilityHandler) { + RetrieversSP list = _retrievers.get(); + + if (consistency == IDocumentRetriever::ReadConsistency::STRONG) { + auto wrappedList = std::make_shared<std::vector<IDocumentRetriever::SP>>(); + wrappedList->reserve(list->size()); + assert(list->size() == 3); + wrappedList->push_back(wrapRetriever((*list)[_readySubDbId], visibilityHandler)); + wrappedList->push_back((*list)[_remSubDbId]); + wrappedList->push_back(wrapRetriever((*list)[_notReadySubDbId], visibilityHandler)); + return wrappedList; + } else { + return list; + } +} void DocumentSubDBCollection::maintenanceSync(MaintenanceController &mc, ICommitable &commit) { - RetrieversSP retrievers = getRetrievers(); + RetrieversSP retrievers = _retrievers.get(); MaintenanceDocumentSubDB readySubDB(getReadySubDB()->getName(), _readySubDbId, getReadySubDB()->getDocumentMetaStoreContext().getSP(), @@ -162,10 +178,9 @@ DocumentSubDBCollection::createInitializer(const DocumentDBConfig &configSnapsho SerialNum configSerialNum, const index::IndexConfig & indexCfg) { - DocumentSubDbCollectionInitializer::SP task = std::make_shared<DocumentSubDbCollectionInitializer>(); + auto task = std::make_shared<DocumentSubDbCollectionInitializer>(); for (auto subDb : _subDBs) { - DocumentSubDbInitializer::SP subTask(subDb->createInitializer(configSnapshot, configSerialNum, indexCfg)); - task->add(subTask); + task->add(subDb->createInitializer(configSnapshot, configSerialNum, indexCfg)); } return task; } diff --git a/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.h b/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.h index 2936051538d..83ebef18274 100644 --- a/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.h +++ b/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.h @@ -4,6 +4,7 @@ #include <vespa/searchcore/proton/reprocessing/reprocessingrunner.h> #include <vespa/searchcore/proton/bucketdb/bucketdbhandler.h> #include <vespa/searchcore/proton/common/hw_info.h> +#include <vespa/searchcore/proton/persistenceengine/i_document_retriever.h> #include <vespa/searchcommon/common/growstrategy.h> #include <vespa/searchlib/common/serialnum.h> #include <vespa/vespalib/util/varholder.h> @@ -121,9 +122,7 @@ public: void maintenanceSync(MaintenanceController &mc, ICommitable &commit); // Internally synchronized - RetrieversSP getRetrievers() { - return _retrievers.get(); - } + RetrieversSP getRetrievers(IDocumentRetriever::ReadConsistency consistency, ICommitable & visibilityHandler); IDocumentSubDB *getReadySubDB() { return _subDBs[_readySubDbId]; } const IDocumentSubDB *getReadySubDB() const { return _subDBs[_readySubDbId]; } diff --git a/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb_configurer.cpp b/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb_configurer.cpp index 36d5ec31a71..697219db563 100644 --- a/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb_configurer.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb_configurer.cpp @@ -20,7 +20,7 @@ FastAccessDocSubDBConfigurer::reconfigureFeedView(const FastAccessFeedView::SP & const std::shared_ptr<const DocumentTypeRepo> &repo, const IAttributeWriter::SP &writer) { - _feedView.set(FastAccessFeedView::SP(new FastAccessFeedView( + _feedView.set(std::make_shared<FastAccessFeedView>( StoreOnlyFeedView::Context(curr->getSummaryAdapter(), schema, curr->getDocumentMetaStore(), @@ -30,8 +30,7 @@ FastAccessDocSubDBConfigurer::reconfigureFeedView(const FastAccessFeedView::SP & curr->getLidReuseDelayer(), curr->getCommitTimeTracker()), curr->getPersistentParams(), - FastAccessFeedView::Context(writer, - curr->getDocIdLimit())))); + FastAccessFeedView::Context(writer,curr->getDocIdLimit()))); } FastAccessDocSubDBConfigurer::FastAccessDocSubDBConfigurer(FeedViewVarHolder &feedView, @@ -43,9 +42,7 @@ FastAccessDocSubDBConfigurer::FastAccessDocSubDBConfigurer(FeedViewVarHolder &fe { } -FastAccessDocSubDBConfigurer::~FastAccessDocSubDBConfigurer() -{ -} +FastAccessDocSubDBConfigurer::~FastAccessDocSubDBConfigurer() = default; IReprocessingInitializer::UP FastAccessDocSubDBConfigurer::reconfigure(const DocumentDBConfig &newConfig, @@ -53,8 +50,7 @@ FastAccessDocSubDBConfigurer::reconfigure(const DocumentDBConfig &newConfig, const AttributeCollectionSpec &attrSpec) { FastAccessFeedView::SP oldView = _feedView.get(); - IAttributeWriter::SP writer = - _factory->create(oldView->getAttributeWriter(), attrSpec); + IAttributeWriter::SP writer = _factory->create(oldView->getAttributeWriter(), attrSpec); reconfigureFeedView(oldView, newConfig.getSchemaSP(), newConfig.getDocumentTypeRepoSP(), writer); const document::DocumentType *newDocType = newConfig.getDocumentType(); diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h index be2ed9af126..1d48785b8a9 100644 --- a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h +++ b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h @@ -7,7 +7,7 @@ #include "isummaryadapter.h" #include "replaypacketdispatcher.h" #include "searchcontext.h" -#include "pendinglidtracker.h" +#include <vespa/searchcore/proton/common/pendinglidtracker.h> #include <vespa/searchcore/proton/common/doctypename.h> #include <vespa/searchcore/proton/attribute/ifieldupdatecallback.h> #include <vespa/searchcore/proton/common/feeddebugger.h> diff --git a/searchcore/src/vespa/searchcore/proton/server/visibilityhandler.cpp b/searchcore/src/vespa/searchcore/proton/server/visibilityhandler.cpp index 2865d8c0536..5cc5743041d 100644 --- a/searchcore/src/vespa/searchcore/proton/server/visibilityhandler.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/visibilityhandler.cpp @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "visibilityhandler.h" +#include <vespa/searchcore/proton/common/pendinglidtracker.h> #include <vespa/vespalib/util/isequencedtaskexecutor.h> #include <vespa/vespalib/util/closuretask.h> diff --git a/searchcore/src/vespa/searchcore/proton/test/dummy_feed_view.h b/searchcore/src/vespa/searchcore/proton/test/dummy_feed_view.h index 556f4188afa..63d292a8cfd 100644 --- a/searchcore/src/vespa/searchcore/proton/test/dummy_feed_view.h +++ b/searchcore/src/vespa/searchcore/proton/test/dummy_feed_view.h @@ -16,7 +16,7 @@ struct DummyFeedView : public IFeedView return _docTypeRepo; } const ISimpleDocumentMetaStore *getDocumentMetaStorePtr() const override { - return std::nullptr_t(); + return nullptr; } void preparePut(PutOperation &) override {} void handlePut(FeedToken, const PutOperation &) override {} |