aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-04-09 20:40:48 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-04-09 20:40:48 +0000
commit769a19ddb4adb8f69cb5483dce27c07e5862357e (patch)
treea52b46163baa1bd0bbe4d5d13f2f20d6a3d8b62a /searchcore
parent3c2d8d9b5937426617df29a5cb182cf346ef8834 (diff)
Simplify after PR feedback.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp27
1 files changed, 12 insertions, 15 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp
index 24e0f2f43b3..bee8a0e0473 100644
--- a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp
@@ -56,7 +56,7 @@ public:
: PutDoneContext(std::move(token), gidToLidChangeHandler, std::move(doc), gid, lid, serialNum, enableNotifyPut),
_moveDoneCtx(std::move(moveDoneCtx))
{}
- ~PutDoneContextForMove() = default;
+ ~PutDoneContextForMove() override = default;
};
std::shared_ptr<PutDoneContext>
@@ -81,7 +81,7 @@ createPutDoneContext(FeedToken token, IGidToLidChangeHandler &gidToLidChangeHand
std::shared_ptr<const Document> doc,
const document::GlobalId &gid, uint32_t lid, SerialNum serialNum, bool enableNotifyPut)
{
- return createPutDoneContext(token, gidToLidChangeHandler, std::move(doc), gid, lid, serialNum, enableNotifyPut, IDestructorCallback::SP());
+ return createPutDoneContext(std::move(token), gidToLidChangeHandler, std::move(doc), gid, lid, serialNum, enableNotifyPut, IDestructorCallback::SP());
}
std::shared_ptr<UpdateDoneContext>
@@ -111,7 +111,7 @@ public:
: RemoveDoneContext(std::move(token), executor, documentMetaStore, std::move(pendingNotifyRemoveDone) ,lid),
_moveDoneCtx(std::move(moveDoneCtx))
{}
- ~RemoveDoneContextForMove() = default;
+ ~RemoveDoneContextForMove() override = default;
};
std::shared_ptr<RemoveDoneContext>
@@ -143,17 +143,17 @@ std::vector<document::GlobalId> getGidsToRemove(const IDocumentMetaStore &metaSt
return gids;
}
-void putMetaData(documentmetastore::IStore &meta_store, const GlobalId & gid, const DocumentId & doc_id,
+void putMetaData(documentmetastore::IStore &meta_store, const DocumentId & doc_id,
const DocumentOperation &op, bool is_removed_doc)
{
documentmetastore::IStore::Result putRes(
- meta_store.put(gid,
+ meta_store.put(doc_id.getGlobalId(),
op.getBucketId(), op.getTimestamp(), op.getSerializedDocSize(), op.getLid()));
if (!putRes.ok()) {
throw IllegalStateException(
make_string("Could not put <lid, gid> pair for %sdocument with id '%s' and gid '%s'",
is_removed_doc ? "removed " : "", doc_id.toString().c_str(),
- gid.toString().c_str()));
+ doc_id.getGlobalId().toString().c_str()));
}
assert(op.getLid() == putRes._lid);
}
@@ -174,14 +174,15 @@ void removeMetaData(documentmetastore::IStore &meta_store, const GlobalId & gid,
}
void
-moveMetaData(documentmetastore::IStore &meta_store, const GlobalId & gid, const DocumentOperation &op)
+moveMetaData(documentmetastore::IStore &meta_store, const DocumentId & doc_id, const DocumentOperation &op)
{
+ (void) doc_id;
assert(op.getLid() != op.getPrevLid());
assert(meta_store.validLid(op.getPrevLid()));
assert(!meta_store.validLid(op.getLid()));
const RawDocumentMetaData &meta(meta_store.getRawMetaData(op.getPrevLid()));
(void) meta;
- assert(meta.getGid() == gid);
+ assert(meta.getGid() == doc_id.getGlobalId());
assert(meta.getTimestamp() == op.getTimestamp());
meta_store.move(op.getPrevLid(), op.getLid());
}
@@ -531,7 +532,7 @@ void
StoreOnlyFeedView::prepareRemove(RemoveOperation &rmOp)
{
documentmetastore::IStore::Result inspectRes = _metaStore.inspect(rmOp.getGlobalId());
- if (_params._subDbType == SubDbType::REMOVED) {
+ if ((_params._subDbType == SubDbType::REMOVED) && (rmOp.getType() == FeedOperation::REMOVE)) {
rmOp.setDbDocumentId(DbDocumentId(_params._subDbId, inspectRes._lid));
}
setPrev(rmOp, inspectRes, _params._subDbId, _params._subDbType == SubDbType::REMOVED);
@@ -590,10 +591,6 @@ StoreOnlyFeedView::internalRemove(FeedToken token, const RemoveOperationWithGid
PendingNotifyRemoveDone pendingNotifyRemoveDone = adjustMetaStore(rmOp, rmOp.getGlobalId(), dummy);
considerEarlyAck(token);
- if (rmOp.getValidDbdId(_params._subDbId)) {
- internalRemove(std::move(token), serialNum, std::move(pendingNotifyRemoveDone),
- rmOp.getPrevLid(), IDestructorCallback::SP());
- }
if (rmOp.getValidPrevDbdId(_params._subDbId)) {
if (rmOp.changedDbdId()) {
assert(!rmOp.getValidDbdId(_params._subDbId));
@@ -630,9 +627,9 @@ StoreOnlyFeedView::adjustMetaStore(const DocumentOperation &op, const GlobalId &
op.getValidPrevDbdId(_params._subDbId) &&
op.getLid() != op.getPrevLid())
{
- moveMetaData(_metaStore, docId.getGlobalId(), op);
+ moveMetaData(_metaStore, docId, op);
} else {
- putMetaData(_metaStore, gid, docId, op, _params._subDbType == SubDbType::REMOVED);
+ putMetaData(_metaStore, docId, op, _params._subDbType == SubDbType::REMOVED);
}
} else if (op.getValidPrevDbdId(_params._subDbId)) {
_gidToLidChangeHandler.notifyRemove(gid, serialNum);