diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-01-19 10:10:18 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-01-19 10:10:18 +0000 |
commit | 672d983232714b980d7366be67df52c83de9c631 (patch) | |
tree | 4166122a72b6d42991c325325bc20c56f62e8e8e /searchcore/src | |
parent | 677a35028b3aac1b6b7232b470d1fdf2df772a52 (diff) |
Move general purpose destructor callbacks to vespalib.
Diffstat (limited to 'searchcore/src')
11 files changed, 37 insertions, 38 deletions
diff --git a/searchcore/src/tests/proton/docsummary/docsummary.cpp b/searchcore/src/tests/proton/docsummary/docsummary.cpp index 513b95eb975..e84cf338bcd 100644 --- a/searchcore/src/tests/proton/docsummary/docsummary.cpp +++ b/searchcore/src/tests/proton/docsummary/docsummary.cpp @@ -25,7 +25,7 @@ #include <vespa/searchcore/proton/server/searchview.h> #include <vespa/searchcore/proton/server/summaryadapter.h> #include <vespa/searchcore/proton/matching/querylimiter.h> -#include <vespa/searchlib/common/gatecallback.h> +#include <vespa/vespalib/util/destructor_callbacks.h> #include <vespa/searchlib/engine/docsumapi.h> #include <vespa/searchlib/index/docbuilder.h> #include <vespa/searchlib/index/dummyfileheadercontext.h> @@ -263,7 +263,7 @@ public: op->setPrevDbDocumentId(prevDbdId); vespalib::Gate commitDone; _ddb->getWriteService().master().execute(vespalib::makeLambdaTask([this, op = std::move(op), &commitDone]() { - _ddb->getFeedHandler().appendOperation(*op, std::make_shared<search::GateCallback>(commitDone)); + _ddb->getFeedHandler().appendOperation(*op, std::make_shared<vespalib::GateCallback>(commitDone)); })); commitDone.await(); SearchView *sv(dynamic_cast<SearchView *>(_ddb->getReadySubDB()->getSearchView().get())); diff --git a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp index 2ef479bdcf3..42ebcd8df90 100644 --- a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp +++ b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp @@ -30,7 +30,7 @@ #include <vespa/searchcore/proton/test/disk_mem_usage_notifier.h> #include <vespa/searchcore/proton/test/mock_attribute_manager.h> #include <vespa/searchcore/proton/test/test.h> -#include <vespa/searchlib/common/gatecallback.h> +#include <vespa/vespalib/util/destructor_callbacks.h> #include <vespa/searchlib/common/idocumentmetastore.h> #include <vespa/searchlib/index/docbuilder.h> #include <vespa/vespalib/data/slime/slime.h> @@ -711,7 +711,7 @@ MyFeedHandler::performPruneRemovedDocuments(PruneRemovedDocumentsOperation &op) { assert(isExecutorThread()); if (op.getLidsToRemove()->getNumLids() != 0u) { - appendOperation(op, std::make_shared<search::IgnoreCallback>()); + appendOperation(op, std::make_shared<vespalib::IgnoreCallback>()); // magic number. _subDBs[1u]->handlePruneRemovedDocuments(op); } @@ -924,7 +924,7 @@ MaintenanceControllerFixture::insertDocs(const test::UserDocuments &docs, MyDocu for (const test::Document &testDoc : bucketDocs.getDocs()) { PutOperation op(testDoc.getBucket(), testDoc.getTimestamp(), testDoc.getDoc()); op.setDbDocumentId(DbDocumentId(subDb.getSubDBId(), testDoc.getLid())); - _fh.appendOperation(op, std::make_shared<search::IgnoreCallback>()); + _fh.appendOperation(op, std::make_shared<vespalib::IgnoreCallback>()); subDb.handlePut(op); } } @@ -940,14 +940,13 @@ MaintenanceControllerFixture::removeDocs(const test::UserDocuments &docs, Timest for (const test::Document &testDoc : bucketDocs.getDocs()) { RemoveOperationWithDocId op(testDoc.getBucket(), timestamp, testDoc.getDoc()->getId()); op.setDbDocumentId(DbDocumentId(_removed.getSubDBId(), testDoc.getLid())); - _fh.appendOperation(op, std::make_shared<search::IgnoreCallback>()); + _fh.appendOperation(op, std::make_shared<vespalib::IgnoreCallback>()); _removed.handleRemove(op); } } } -TEST_F("require that bucket move controller is active", - MaintenanceControllerFixture) +TEST_F("require that bucket move controller is active", MaintenanceControllerFixture) { f._builder.createDocs(1, 1, 4); // 3 docs f._builder.createDocs(2, 4, 6); // 2 docs @@ -998,8 +997,7 @@ TEST_F("require that bucket move controller is active", EXPECT_EQUAL(2u, f._notReady.getDocumentCount()); } -TEST_F("require that document pruner is active", - MaintenanceControllerFixture) +TEST_F("require that document pruner is active", MaintenanceControllerFixture) { uint64_t tshz = 1000000; uint64_t now = static_cast<uint64_t>(time(nullptr)) * tshz; @@ -1044,8 +1042,7 @@ TEST_F("require that document pruner is active", EXPECT_EQUAL(5u, f._removed.getDocumentCount()); } -TEST_F("require that heartbeats are scheduled", - MaintenanceControllerFixture) +TEST_F("require that heartbeats are scheduled", MaintenanceControllerFixture) { f.notifyClusterStateChanged(); f.startMaintenance(); diff --git a/searchcore/src/tests/proton/reference/gid_to_lid_change_handler/gid_to_lid_change_handler_test.cpp b/searchcore/src/tests/proton/reference/gid_to_lid_change_handler/gid_to_lid_change_handler_test.cpp index 9ba6de043be..10c0a21d6c1 100644 --- a/searchcore/src/tests/proton/reference/gid_to_lid_change_handler/gid_to_lid_change_handler_test.cpp +++ b/searchcore/src/tests/proton/reference/gid_to_lid_change_handler/gid_to_lid_change_handler_test.cpp @@ -8,7 +8,7 @@ #include <vespa/searchcore/proton/reference/i_gid_to_lid_change_listener.h> #include <vespa/searchcore/proton/reference/i_pending_gid_to_lid_changes.h> #include <vespa/searchcore/proton/reference/gid_to_lid_change_handler.h> -#include <vespa/searchlib/common/gatecallback.h> +#include <vespa/vespalib/util/destructor_callbacks.h> #include <map> #include <vespa/log/log.h> LOG_SETUP("gid_to_lid_change_handler_test"); @@ -155,7 +155,7 @@ struct Fixture void notifyRemove(GlobalId gid, SerialNum serialNum) { vespalib::Gate gate; - _handler->notifyRemove(std::make_shared<search::GateCallback>(gate), gid, serialNum); + _handler->notifyRemove(std::make_shared<vespalib::GateCallback>(gate), gid, serialNum); gate.await(); } diff --git a/searchcore/src/tests/proton/reference/gid_to_lid_change_listener/gid_to_lid_change_listener_test.cpp b/searchcore/src/tests/proton/reference/gid_to_lid_change_listener/gid_to_lid_change_listener_test.cpp index 126a1ead89c..f028de23be6 100644 --- a/searchcore/src/tests/proton/reference/gid_to_lid_change_listener/gid_to_lid_change_listener_test.cpp +++ b/searchcore/src/tests/proton/reference/gid_to_lid_change_listener/gid_to_lid_change_listener_test.cpp @@ -6,7 +6,7 @@ #include <vespa/searchcore/proton/common/monitored_refcount.h> #include <vespa/searchcore/proton/reference/gid_to_lid_change_listener.h> #include <vespa/searchlib/common/i_gid_to_lid_mapper_factory.h> -#include <vespa/searchlib/common/gatecallback.h> +#include <vespa/vespalib/util/destructor_callbacks.h> #include <vespa/searchlib/test/mock_gid_to_lid_mapping.h> #include <map> #include <vespa/log/log.h> @@ -97,7 +97,7 @@ struct Fixture void notifyPutDone(const GlobalId &gid, uint32_t referencedDoc) { vespalib::Gate gate; - _listener->notifyPutDone(std::make_shared<search::GateCallback>(gate), gid, referencedDoc); + _listener->notifyPutDone(std::make_shared<vespalib::GateCallback>(gate), gid, referencedDoc); gate.await(); } diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_populator.cpp b/searchcore/src/vespa/searchcore/proton/attribute/attribute_populator.cpp index b1ec2a3996a..7c709ca5570 100644 --- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_populator.cpp +++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_populator.cpp @@ -4,7 +4,7 @@ #include <vespa/searchcore/proton/common/eventlogger.h> #include <vespa/vespalib/util/idestructorcallback.h> #include <vespa/searchlib/common/flush_token.h> -#include <vespa/searchlib/common/gatecallback.h> +#include <vespa/vespalib/util/destructor_callbacks.h> #include <vespa/vespalib/util/gate.h> #include <vespa/searchlib/attribute/attributevector.h> @@ -78,7 +78,7 @@ AttributePopulator::handleExisting(uint32_t lid, const std::shared_ptr<document: search::SerialNum serialNum(nextSerialNum()); _writer.put(serialNum, *doc, lid, std::make_shared<PopulateDoneContext>(doc)); vespalib::Gate gate; - _writer.forceCommit(serialNum, std::make_shared<search::GateCallback>(gate)); + _writer.forceCommit(serialNum, std::make_shared<vespalib::GateCallback>(gate)); gate.await(); } diff --git a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp index 7323744c626..7c4296db304 100644 --- a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp @@ -32,7 +32,7 @@ #include <vespa/searchlib/attribute/configconverter.h> #include <vespa/searchlib/engine/docsumreply.h> #include <vespa/searchlib/engine/searchreply.h> -#include <vespa/searchlib/common/gatecallback.h> +#include <vespa/vespalib/util/destructor_callbacks.h> #include <vespa/vespalib/util/closuretask.h> #include <vespa/vespalib/util/exceptions.h> #include <vespa/metrics/updatehook.h> @@ -452,7 +452,7 @@ DocumentDB::applyConfig(DocumentDBConfig::SP configSnapshot, SerialNum serialNum { bool elidedConfigSave = equalReplayConfig && tlsReplayDone; // Flush changes to attributes and memory index, cf. visibilityDelay - _feedView.get()->forceCommit(elidedConfigSave ? serialNum : serialNum - 1, std::make_shared<search::KeepAlive<FeedHandler::CommitResult>>(std::move(commit_result))); + _feedView.get()->forceCommit(elidedConfigSave ? serialNum : serialNum - 1, std::make_shared<vespalib::KeepAlive<FeedHandler::CommitResult>>(std::move(commit_result))); _writeService.sync(); } if (_state.getState() >= DDBState::State::APPLY_LIVE_CONFIG) { diff --git a/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp b/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp index f25d1995439..c9333cde0a8 100644 --- a/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp @@ -18,7 +18,7 @@ #include <vespa/searchcore/proton/feedoperation/operations.h> #include <vespa/searchcore/proton/common/eventlogger.h> #include <vespa/searchcorespi/index/ithreadingservice.h> -#include <vespa/searchlib/common/gatecallback.h> +#include <vespa/vespalib/util/destructor_callbacks.h> #include <vespa/searchlib/transactionlog/client_session.h> #include <vespa/vespalib/util/exceptions.h> #include <vespa/vespalib/util/lambdatask.h> @@ -544,7 +544,7 @@ FeedHandler::initiateCommit() { })); auto commitResult = _tlsWriter->startCommit(onCommitDoneContext); if (_activeFeedView) { - using KeepAlivePair = search::KeepAlive<std::pair<CommitResult, DoneCallback>>; + using KeepAlivePair = vespalib::KeepAlive<std::pair<CommitResult, DoneCallback>>; auto pair = std::make_pair(std::move(commitResult), std::move(onCommitDoneContext)); _activeFeedView->forceCommit(_serialNum, std::make_shared<KeepAlivePair>(std::move(pair))); } @@ -569,7 +569,7 @@ FeedHandler::startCommit(DoneCallback onDone) { FeedHandler::CommitResult FeedHandler::storeOperationSync(const FeedOperation &op) { vespalib::Gate gate; - auto commit_result = appendAndCommitOperation(op, make_shared<search::GateCallback>(gate)); + auto commit_result = appendAndCommitOperation(op, make_shared<vespalib::GateCallback>(gate)); gate.await(); return commit_result; } diff --git a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.cpp b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.cpp index 31ff65251bd..c534c1a3f62 100644 --- a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.cpp @@ -24,6 +24,8 @@ LidSpaceCompactionHandler::LidSpaceCompactionHandler(const MaintenanceDocumentSu { } +LidSpaceCompactionHandler::~LidSpaceCompactionHandler() = default; + void LidSpaceCompactionHandler::set_operation_listener(documentmetastore::OperationListener::SP op_listener) { diff --git a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.h b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.h index 73d1a324619..1a25f56a990 100644 --- a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.h +++ b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.h @@ -18,18 +18,18 @@ private: public: LidSpaceCompactionHandler(const MaintenanceDocumentSubDB& subDb, const vespalib::string& docTypeName); + ~LidSpaceCompactionHandler() override; - // Implements ILidSpaceCompactionHandler - virtual vespalib::string getName() const override { + vespalib::string getName() const override { return _docTypeName + "." + _subDb.name(); } - virtual void set_operation_listener(std::shared_ptr<documentmetastore::OperationListener> op_listener) override; - virtual uint32_t getSubDbId() const override { return _subDb.sub_db_id(); } - virtual search::LidUsageStats getLidStatus() const override; - virtual IDocumentScanIterator::UP getIterator() const override; - virtual MoveOperation::UP createMoveOperation(const search::DocumentMetaData &document, uint32_t moveToLid) const override; - virtual void handleMove(const MoveOperation &op, std::shared_ptr<vespalib::IDestructorCallback> doneCtx) override; - virtual void handleCompactLidSpace(const CompactLidSpaceOperation &op, std::shared_ptr<vespalib::IDestructorCallback> compact_done_context) override; + void set_operation_listener(std::shared_ptr<documentmetastore::OperationListener> op_listener) override; + uint32_t getSubDbId() const override { return _subDb.sub_db_id(); } + search::LidUsageStats getLidStatus() const override; + IDocumentScanIterator::UP getIterator() const override; + MoveOperation::UP createMoveOperation(const search::DocumentMetaData &document, uint32_t moveToLid) const override; + void handleMove(const MoveOperation &op, std::shared_ptr<vespalib::IDestructorCallback> doneCtx) override; + void handleCompactLidSpace(const CompactLidSpaceOperation &op, std::shared_ptr<vespalib::IDestructorCallback> compact_done_context) override; }; } // namespace proton diff --git a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job.cpp b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job.cpp index 9ea730b062e..43ba91e2ef1 100644 --- a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job.cpp @@ -5,7 +5,7 @@ #include "imaintenancejobrunner.h" #include "lid_space_compaction_job.h" #include <vespa/searchcore/proton/common/eventlogger.h> -#include <vespa/searchlib/common/gatecallback.h> +#include <vespa/vespalib/util/destructor_callbacks.h> #include <vespa/vespalib/util/gate.h> #include <cassert> @@ -85,9 +85,9 @@ LidSpaceCompactionJob::compactLidSpace(const LidUsageStats &stats) uint32_t wantedLidLimit = stats.getHighestUsedLid() + 1; CompactLidSpaceOperation op(_handler.getSubDbId(), wantedLidLimit); vespalib::Gate gate; - auto commit_result = _opStorer.appendAndCommitOperation(op, std::make_shared<search::GateCallback>(gate)); + auto commit_result = _opStorer.appendAndCommitOperation(op, std::make_shared<vespalib::GateCallback>(gate)); gate.await(); - _handler.handleCompactLidSpace(op, std::make_shared<search::KeepAlive<decltype(commit_result)>>(std::move(commit_result))); + _handler.handleCompactLidSpace(op, std::make_shared<vespalib::KeepAlive<decltype(commit_result)>>(std::move(commit_result))); EventLogger::lidSpaceCompactionComplete(_handler.getName(), wantedLidLimit); _shouldCompactLidSpace = false; } diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp index ae677b4ad6a..b24a9181756 100644 --- a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp @@ -15,7 +15,7 @@ #include <vespa/searchcore/proton/feedoperation/operations.h> #include <vespa/searchcore/proton/reference/i_gid_to_lid_change_handler.h> #include <vespa/searchcore/proton/reference/i_pending_gid_to_lid_changes.h> -#include <vespa/searchlib/common/gatecallback.h> +#include <vespa/vespalib/util/destructor_callbacks.h> #include <vespa/searchlib/common/scheduletaskcallback.h> #include <vespa/vespalib/util/isequencedtaskexecutor.h> #include <vespa/vespalib/util/exceptions.h> @@ -641,7 +641,7 @@ StoreOnlyFeedView::adjustMetaStore(const DocumentOperation &op, const GlobalId & } } else if (op.getValidPrevDbdId(_params._subDbId)) { vespalib::Gate gate; - _gidToLidChangeHandler.notifyRemove(std::make_shared<search::GateCallback>(gate), gid, serialNum); + _gidToLidChangeHandler.notifyRemove(std::make_shared<vespalib::GateCallback>(gate), gid, serialNum); gate.await(); removeMetaData(_metaStore, gid, docId, op, _params._subDbType == SubDbType::REMOVED); } @@ -674,7 +674,7 @@ StoreOnlyFeedView::removeDocuments(const RemoveDocumentsOperation &op, bool remo vespalib::Gate gate; gidsToRemove = getGidsToRemove(_metaStore, lidsToRemove); { - IGidToLidChangeHandler::IDestructorCallbackSP context = std::make_shared<search::GateCallback>(gate); + IGidToLidChangeHandler::IDestructorCallbackSP context = std::make_shared<vespalib::GateCallback>(gate); for (const auto &gid : gidsToRemove) { _gidToLidChangeHandler.notifyRemove(context, gid, serialNum); } |