diff options
author | Tor Egge <Tor.Egge@oath.com> | 2017-09-06 20:36:13 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@oath.com> | 2017-09-07 10:12:11 +0000 |
commit | e4a5a970ea408db968bc9abbeec7977527e38dea (patch) | |
tree | 6f8e1e926f4293facf9d563afd324fd168885ace /searchcore | |
parent | 23c760f53ac73ce2de150ef5a5ed0ddb22786fd2 (diff) |
Don't call notifyPut if document meta store wasn't updated.
Diffstat (limited to 'searchcore')
3 files changed, 14 insertions, 14 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/putdonecontext.cpp b/searchcore/src/vespa/searchcore/proton/server/putdonecontext.cpp index 8462e3d0a77..f05d8bc0823 100644 --- a/searchcore/src/vespa/searchcore/proton/server/putdonecontext.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/putdonecontext.cpp @@ -14,14 +14,14 @@ PutDoneContext::PutDoneContext(std::unique_ptr<FeedToken> token, const document::GlobalId &gid, uint32_t lid, search::SerialNum serialNum, - bool changedDbdId) + bool enableNotifyPut) : OperationDoneContext(std::move(token), opType, metrics), _lid(lid), _docIdLimit(nullptr), _gidToLidChangeHandler(gidToLidChangeHandler), _gid(gid), _serialNum(serialNum), - _changedDbdId(changedDbdId) + _enableNotifyPut(enableNotifyPut) { } @@ -30,7 +30,7 @@ PutDoneContext::~PutDoneContext() if (_docIdLimit != nullptr) { _docIdLimit->bumpUpLimit(_lid + 1); } - if (_changedDbdId) { + if (_enableNotifyPut) { _gidToLidChangeHandler.notifyPut(_gid, _lid, _serialNum); } } diff --git a/searchcore/src/vespa/searchcore/proton/server/putdonecontext.h b/searchcore/src/vespa/searchcore/proton/server/putdonecontext.h index 5a5ff849ac7..bddf9dabd90 100644 --- a/searchcore/src/vespa/searchcore/proton/server/putdonecontext.h +++ b/searchcore/src/vespa/searchcore/proton/server/putdonecontext.h @@ -27,7 +27,7 @@ class PutDoneContext : public OperationDoneContext IGidToLidChangeHandler &_gidToLidChangeHandler; document::GlobalId _gid; search::SerialNum _serialNum; - bool _changedDbdId; // lid or document subdb changed + bool _enableNotifyPut; public: PutDoneContext(std::unique_ptr<FeedToken> token, @@ -37,7 +37,7 @@ public: const document::GlobalId &gid, uint32_t lid, search::SerialNum serialNum, - bool changedDbdId); + bool enableNotifyPut); virtual ~PutDoneContext(); diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp index 749078c56ba..e6cc982e2f5 100644 --- a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp @@ -61,8 +61,8 @@ public: PerDocTypeFeedMetrics &metrics, IGidToLidChangeHandler &gidToLidChangeHandler, const document::GlobalId &gid, - uint32_t lid, search::SerialNum serialNum, bool changedDbdId, IDestructorCallback::SP moveDoneCtx) - : PutDoneContext(std::move(token), opType, metrics, gidToLidChangeHandler, gid, lid, serialNum, changedDbdId), + uint32_t lid, search::SerialNum serialNum, bool enableNotifyPut, IDestructorCallback::SP moveDoneCtx) + : PutDoneContext(std::move(token), opType, metrics, gidToLidChangeHandler, gid, lid, serialNum, enableNotifyPut), _moveDoneCtx(std::move(moveDoneCtx)) {} virtual ~PutDoneContextForMove() {} @@ -72,23 +72,23 @@ std::shared_ptr<PutDoneContext> createPutDoneContext(FeedToken::UP &token, FeedOperation::Type opType, PerDocTypeFeedMetrics &metrics, IGidToLidChangeHandler &gidToLidChangeHandler, const document::GlobalId &gid, uint32_t lid, - SerialNum serialNum, bool changedDbdId, + SerialNum serialNum, bool enableNotifyPut, IDestructorCallback::SP moveDoneCtx) { std::shared_ptr<PutDoneContext> result; if (moveDoneCtx) { - result = std::make_shared<PutDoneContextForMove>(std::move(token), opType, metrics, gidToLidChangeHandler, gid, lid, serialNum, changedDbdId, std::move(moveDoneCtx)); + result = std::make_shared<PutDoneContextForMove>(std::move(token), opType, metrics, gidToLidChangeHandler, gid, lid, serialNum, enableNotifyPut, std::move(moveDoneCtx)); } else { - result = std::make_shared<PutDoneContext>(std::move(token), opType, metrics, gidToLidChangeHandler, gid, lid, serialNum, changedDbdId); + result = std::make_shared<PutDoneContext>(std::move(token), opType, metrics, gidToLidChangeHandler, gid, lid, serialNum, enableNotifyPut); } return result; } std::shared_ptr<PutDoneContext> createPutDoneContext(FeedToken::UP &token, FeedOperation::Type opType, PerDocTypeFeedMetrics &metrics, IGidToLidChangeHandler &gidToLidChangeHandler, - const document::GlobalId &gid, uint32_t lid, SerialNum serialNum, bool changedDbdId) + const document::GlobalId &gid, uint32_t lid, SerialNum serialNum, bool enableNotifyPut) { - return createPutDoneContext(token, opType, metrics, gidToLidChangeHandler, gid, lid, serialNum, changedDbdId, IDestructorCallback::SP()); + return createPutDoneContext(token, opType, metrics, gidToLidChangeHandler, gid, lid, serialNum, enableNotifyPut, IDestructorCallback::SP()); } std::shared_ptr<UpdateDoneContext> @@ -305,7 +305,7 @@ StoreOnlyFeedView::internalPut(FeedToken::UP token, const PutOperation &putOp) const document::GlobalId &gid = docId.getGlobalId(); std::shared_ptr<PutDoneContext> onWriteDone = createPutDoneContext(token, putOp.getType(), _params._metrics, - _gidToLidChangeHandler, gid, putOp.getLid(), serialNum, putOp.changedDbdId()); + _gidToLidChangeHandler, gid, putOp.getLid(), serialNum, putOp.changedDbdId() && useDocumentMetaStore(serialNum)); putSummary(serialNum, putOp.getLid(), doc, onWriteDone); putAttributes(serialNum, putOp.getLid(), *doc, immediateCommit, onWriteDone); putIndexedFields(serialNum, putOp.getLid(), doc, immediateCommit, onWriteDone); @@ -763,7 +763,7 @@ StoreOnlyFeedView::handleMove(const MoveOperation &moveOp, IDestructorCallback:: std::shared_ptr<PutDoneContext> onWriteDone = createPutDoneContext(token, moveOp.getType(), _params._metrics, _gidToLidChangeHandler, gid, moveOp.getLid(), - serialNum, moveOp.changedDbdId(), doneCtx); + serialNum, moveOp.changedDbdId() && useDocumentMetaStore(serialNum), doneCtx); putSummary(serialNum, moveOp.getLid(), doc, onWriteDone); putAttributes(serialNum, moveOp.getLid(), *doc, immediateCommit, onWriteDone); putIndexedFields(serialNum, moveOp.getLid(), doc, immediateCommit, onWriteDone); |