diff options
Diffstat (limited to 'searchcore/src/tests')
5 files changed, 22 insertions, 13 deletions
diff --git a/searchcore/src/tests/proton/attribute/attributeflush_test.cpp b/searchcore/src/tests/proton/attribute/attributeflush_test.cpp index e29040a7984..e85bf3c4baa 100644 --- a/searchcore/src/tests/proton/attribute/attributeflush_test.cpp +++ b/searchcore/src/tests/proton/attribute/attributeflush_test.cpp @@ -19,6 +19,7 @@ #include <vespa/vespalib/util/foregroundtaskexecutor.h> #include <vespa/vespalib/util/size_literals.h> #include <vespa/vespalib/util/threadstackexecutor.h> +#include <vespa/vespalib/util/idestructorcallback.h> #include <thread> #include <vespa/log/log.h> @@ -568,13 +569,13 @@ Test::requireThatShrinkWorks() EXPECT_FALSE(av->canShrinkLidSpace()); EXPECT_EQUAL(1000u, av->getNumDocs()); EXPECT_EQUAL(100u, av->getCommittedDocIdLimit()); - aw.heartBeat(51); + aw.heartBeat(51, IDestructorCallback::SP()); EXPECT_TRUE(av->wantShrinkLidSpace()); EXPECT_FALSE(av->canShrinkLidSpace()); EXPECT_EQUAL(ft->getApproxMemoryGain().getBefore(), ft->getApproxMemoryGain().getAfter()); g.reset(); - aw.heartBeat(52); + aw.heartBeat(52, IDestructorCallback::SP()); EXPECT_TRUE(av->wantShrinkLidSpace()); EXPECT_TRUE(av->canShrinkLidSpace()); EXPECT_TRUE(ft->getApproxMemoryGain().getBefore() > diff --git a/searchcore/src/tests/proton/documentdb/combiningfeedview/combiningfeedview_test.cpp b/searchcore/src/tests/proton/documentdb/combiningfeedview/combiningfeedview_test.cpp index db20181eae7..dc51d0df8a1 100644 --- a/searchcore/src/tests/proton/documentdb/combiningfeedview/combiningfeedview_test.cpp +++ b/searchcore/src/tests/proton/documentdb/combiningfeedview/combiningfeedview_test.cpp @@ -85,7 +85,7 @@ struct MyFeedView : public test::DummyFeedView void handleDeleteBucket(const DeleteBucketOperation &) override { ++_handleDeleteBucket; } void prepareMove(MoveOperation &) override { ++_prepareMove; } void handleMove(const MoveOperation &, IDestructorCallback::SP) override { ++_handleMove; } - void heartBeat(SerialNum) override { ++_heartBeat; } + void heartBeat(SerialNum, DoneCallback) override { ++_heartBeat; } void handlePruneRemovedDocuments(const PruneRemovedDocumentsOperation &) override { ++_handlePrune; } void handleCompactLidSpace(const CompactLidSpaceOperation &op, DoneCallback) override { _wantedLidLimit = op.getLidLimit(); @@ -371,7 +371,7 @@ TEST_F("require that delete bucket is sent to all feed views", Fixture) TEST_F("require that heart beat is sent to all feed views", Fixture) { - f._view.heartBeat(5); + f._view.heartBeat(5, IDestructorCallback::SP()); EXPECT_EQUAL(1u, f._ready._view->_heartBeat); EXPECT_EQUAL(1u, f._removed._view->_heartBeat); EXPECT_EQUAL(1u, f._notReady._view->_heartBeat); diff --git a/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp b/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp index f76b7d03d08..1963e5e9dbc 100644 --- a/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp +++ b/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp @@ -234,8 +234,8 @@ struct MyFeedView : public test::DummyFeedView { (void) token; ++remove_count; } - void handleMove(const MoveOperation &, IDestructorCallback::SP) override { ++move_count; } - void heartBeat(SerialNum) override { ++heartbeat_count; } + void handleMove(const MoveOperation &, DoneCallback) override { ++move_count; } + void heartBeat(SerialNum, DoneCallback) override { ++heartbeat_count; } void handlePruneRemovedDocuments(const PruneRemovedDocumentsOperation &) override { ++prune_removed_count; } const ISimpleDocumentMetaStore *getDocumentMetaStorePtr() const override { return nullptr; diff --git a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp index 6c45470bb42..4c566f6053b 100644 --- a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp +++ b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp @@ -367,7 +367,7 @@ struct MyAttributeWriter : public IAttributeWriter (void) doc; (void) lid; } - void heartBeat(SerialNum) override { ++_heartBeatCount; } + void heartBeat(SerialNum, OnWriteDoneType) override { ++_heartBeatCount; } void compactLidSpace(uint32_t wantedLidLimit, SerialNum ) override { _wantedLidLimit = wantedLidLimit; } @@ -1053,7 +1053,11 @@ TEST_F("require that removes are not remembered", SearchableFeedViewFixture) TEST_F("require that heartbeat propagates to index- and attributeadapter", SearchableFeedViewFixture) { - f.runInMasterAndSyncAll([&]() { f.fv.heartBeat(2); }); + vespalib::Gate gate; + f.runInMaster([&, onDone = std::make_shared<vespalib::GateCallback>(gate)]() { + f.fv.heartBeat(2, std::move(onDone)); + }); + gate.await(); EXPECT_EQUAL(1, f.miw._heartBeatCount); EXPECT_EQUAL(1, f.maw._heartBeatCount); } diff --git a/searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp b/searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp index 526b94a3525..fb609b1829e 100644 --- a/searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp +++ b/searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp @@ -114,12 +114,12 @@ struct MyMinimalFeedView : public MyMinimalFeedViewBase, public StoreOnlyFeedVie StoreOnlyFeedView::removeIndexedFields(s, l, onWriteDone); ++removeMultiIndexFieldsCount; } - void heartBeatIndexedFields(SerialNum s) override { - StoreOnlyFeedView::heartBeatIndexedFields(s); + void heartBeatIndexedFields(SerialNum s, IDestructorCallbackSP onDone) override { + StoreOnlyFeedView::heartBeatIndexedFields(s, onDone); ++heartBeatIndexedFieldsCount; } - void heartBeatAttributes(SerialNum s) override { - StoreOnlyFeedView::heartBeatAttributes(s); + void heartBeatAttributes(SerialNum s, IDestructorCallbackSP onDone) override { + StoreOnlyFeedView::heartBeatAttributes(s, onDone); ++heartBeatAttributesCount; } }; @@ -399,7 +399,11 @@ TEST_F("require that heartbeat propagates and commits meta store", Fixture) EXPECT_EQUAL(0, f.feedview->heartBeatIndexedFieldsCount); EXPECT_EQUAL(0, f.feedview->heartBeatAttributesCount); EXPECT_EQUAL(0, f.heartbeatCount); - f.runInMasterAndSyncAll([&]() { f.feedview->heartBeat(2); }); + vespalib::Gate gate; + f.runInMaster([&, onDone = std::make_shared<vespalib::GateCallback>(gate)]() { + f.feedview->heartBeat(2, std::move(onDone)); + }); + gate.await(); EXPECT_EQUAL(2u, f.metaStore->getStatus().getLastSyncToken()); EXPECT_EQUAL(1, f.feedview->heartBeatIndexedFieldsCount); EXPECT_EQUAL(1, f.feedview->heartBeatAttributesCount); |