aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-08-19 13:06:38 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-08-19 20:36:51 +0000
commit76db49d501be07b1fc6ac09370886bb89ffab8ef (patch)
tree78cf0462694f82e35caa87464a653a8208850040 /searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
parenta39aced4a87decfb421b5402b0b8b6e5b5a46d4c (diff)
Do the time tracking for immediate commit in the replay state instead of having it spread all over.
Diffstat (limited to 'searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp')
-rw-r--r--searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp68
1 files changed, 32 insertions, 36 deletions
diff --git a/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp b/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
index d1d08a332e3..747c712bee8 100644
--- a/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
@@ -107,17 +107,14 @@ struct MyOwner : public IFeedHandlerOwner
_allowPrune(false)
{
}
- virtual void onTransactionLogReplayDone() override {
+ void onTransactionLogReplayDone() override {
LOG(info, "MyOwner::onTransactionLogReplayDone()");
}
- virtual void enterRedoReprocessState() override {}
- virtual void onPerformPrune(SerialNum) override {}
+ void enterRedoReprocessState() override {}
+ void onPerformPrune(SerialNum) override {}
- virtual bool
- getAllowPrune() const override
- {
- return _allowPrune;
- }
+ bool getAllowPrune() const override { return _allowPrune; }
+ vespalib::duration getVisibilityDelay() const override { return vespalib::from_s(0.0); }
};
@@ -130,15 +127,15 @@ struct MyResourceWriteFilter : public IResourceWriteFilter
_message()
{}
- virtual bool acceptWriteOperation() const override { return _acceptWriteOperation; }
- virtual State getAcceptState() const override {
+ bool acceptWriteOperation() const override { return _acceptWriteOperation; }
+ State getAcceptState() const override {
return IResourceWriteFilter::State(acceptWriteOperation(), _message);
}
};
struct MyReplayConfig : public IReplayConfig {
- virtual void replayConfig(SerialNum) override {}
+ void replayConfig(SerialNum) override {}
};
struct MyDocumentMetaStore {
@@ -172,7 +169,7 @@ struct MyDocumentMetaStore {
if (itr != _allocated.end()) {
return &itr->second;
}
- return NULL;
+ return nullptr;
}
};
@@ -197,9 +194,9 @@ struct MyFeedView : public test::DummyFeedView {
void preparePut(PutOperation &op) override {
prepareDocumentOperation(op, op.getDocument()->getId().getGlobalId());
}
- void prepareDocumentOperation(DocumentOperation &op, const GlobalId &gid) {
+ void prepareDocumentOperation(DocumentOperation &op, const GlobalId &gid) const {
const MyDocumentMetaStore::Entry *entry = metaStore.get(gid);
- if (entry != NULL) {
+ if (entry != nullptr) {
op.setDbDocumentId(entry->_id);
op.setPrevDbDocumentId(entry->_prevId);
op.setPrevTimestamp(entry->_prevTimestamp);
@@ -209,7 +206,7 @@ struct MyFeedView : public test::DummyFeedView {
(void) token;
LOG(info, "MyFeedView::handlePut(): docId(%s), putCount(%u), putLatchCount(%u)",
putOp.getDocument()->getId().toString().c_str(), put_count,
- (putLatch.get() != NULL ? putLatch->getCount() : 0u));
+ (putLatch ? putLatch->getCount() : 0u));
if (usePutRdz) {
putRdz.run();
}
@@ -218,7 +215,7 @@ struct MyFeedView : public test::DummyFeedView {
++put_count;
put_serial = putOp.getSerialNum();
metaStore.allocate(putOp.getDocument()->getId().getGlobalId());
- if (putLatch.get() != NULL) {
+ if (putLatch) {
putLatch->countDown();
}
}
@@ -240,9 +237,9 @@ struct MyFeedView : public test::DummyFeedView {
void heartBeat(SerialNum) override { ++heartbeat_count; }
void handlePruneRemovedDocuments(const PruneRemovedDocumentsOperation &) override { ++prune_removed_count; }
const ISimpleDocumentMetaStore *getDocumentMetaStorePtr() const override {
- return NULL;
+ return nullptr;
}
- void checkCounts(int exp_update_count, SerialNum exp_update_serial, int exp_put_count, SerialNum exp_put_serial) {
+ void checkCounts(int exp_update_count, SerialNum exp_update_serial, int exp_put_count, SerialNum exp_put_serial) const {
EXPECT_EQUAL(exp_update_count, update_count);
EXPECT_EQUAL(exp_update_serial, update_serial);
EXPECT_EQUAL(exp_put_count, put_count);
@@ -266,7 +263,7 @@ MyFeedView::MyFeedView(const std::shared_ptr<const DocumentTypeRepo> &dtr, const
update_serial(0),
documentType(dtr->getDocumentType(docTypeName.getName()))
{}
-MyFeedView::~MyFeedView() {}
+MyFeedView::~MyFeedView() = default;
struct SchemaContext {
@@ -358,7 +355,7 @@ struct MyTransport : public feedtoken::ITransport {
ResultUP result;
bool documentWasFound;
MyTransport();
- ~MyTransport();
+ ~MyTransport() override;
void send(ResultUP res, bool documentWasFound_) override {
result = std::move(res);
documentWasFound = documentWasFound_;
@@ -421,8 +418,8 @@ struct PutHandler {
puts.push_back(pc);
}
bool await(uint32_t timeout = 80000) {
- for (size_t i = 0; i < puts.size(); ++i) {
- if (!puts[i]->tokenCtx.await(timeout)) {
+ for (const auto & put : puts) {
+ if (!put->tokenCtx.await(timeout)) {
return false;
}
}
@@ -475,7 +472,7 @@ struct FeedHandlerFixture
feedView(schema.getRepo(), schema.getDocType()),
_bucketDB(),
_bucketDBHandler(_bucketDB),
- handler(writeService, tlsSpec, schema.getDocType(), _state, owner,
+ handler(writeService, tlsSpec, schema.getDocType(), owner,
writeFilter, replayConfig, tls, &tls_writer)
{
_state.enterLoadState();
@@ -500,18 +497,17 @@ struct FeedHandlerFixture
struct MyConfigStore : ConfigStore {
- virtual SerialNum getBestSerialNum() const override { return 1; }
- virtual SerialNum getOldestSerialNum() const override { return 1; }
- virtual void saveConfig(const DocumentDBConfig &, SerialNum) override {}
- virtual void loadConfig(const DocumentDBConfig &, SerialNum,
- DocumentDBConfig::SP &) override {}
- virtual void removeInvalid() override {}
+ SerialNum getBestSerialNum() const override { return 1; }
+ SerialNum getOldestSerialNum() const override { return 1; }
+ void saveConfig(const DocumentDBConfig &, SerialNum) override {}
+ void loadConfig(const DocumentDBConfig &, SerialNum, DocumentDBConfig::SP &) override {}
+ void removeInvalid() override {}
void prune(SerialNum) override {}
- virtual bool hasValidSerial(SerialNum) const override { return true; }
- virtual SerialNum getPrevValidSerial(SerialNum) const override { return 1; }
- virtual void serializeConfig(SerialNum, vespalib::nbostream &) override {}
- virtual void deserializeConfig(SerialNum, vespalib::nbostream &) override {}
- virtual void setProtonConfig(const ProtonConfigSP &) override { }
+ bool hasValidSerial(SerialNum) const override { return true; }
+ SerialNum getPrevValidSerial(SerialNum) const override { return 1; }
+ void serializeConfig(SerialNum, vespalib::nbostream &) override {}
+ void deserializeConfig(SerialNum, vespalib::nbostream &) override {}
+ void setProtonConfig(const ProtonConfigSP &) override { }
};
@@ -637,7 +633,7 @@ TEST_F("require that partial update for non-existing document is tagged as such"
auto op = std::make_unique<UpdateOperation>(upCtx.bucketId, Timestamp(10), upCtx.update);
FeedTokenContext token_context;
f.handler.performOperation(std::move(token_context.token), std::move(op));
- const UpdateResult *result = static_cast<const UpdateResult *>(token_context.getResult());
+ const auto *result = dynamic_cast<const UpdateResult *>(token_context.getResult());
EXPECT_FALSE(token_context.transport.documentWasFound);
EXPECT_EQUAL(0u, result->getExistingTimestamp());
@@ -655,7 +651,7 @@ TEST_F("require that partial update for non-existing document is created if spec
auto op = std::make_unique<UpdateOperation>(upCtx.bucketId, Timestamp(10), upCtx.update);
FeedTokenContext token_context;
f.handler.performOperation(std::move(token_context.token), std::move(op));
- const UpdateResult *result = static_cast<const UpdateResult *>(token_context.getResult());
+ const auto * result = dynamic_cast<const UpdateResult *>(token_context.getResult());
EXPECT_TRUE(token_context.transport.documentWasFound);
EXPECT_EQUAL(10u, result->getExistingTimestamp());