summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@oath.com>2017-09-06 20:36:13 +0000
committerTor Egge <Tor.Egge@oath.com>2017-09-07 10:12:11 +0000
commite4a5a970ea408db968bc9abbeec7977527e38dea (patch)
tree6f8e1e926f4293facf9d563afd324fd168885ace /searchcore
parent23c760f53ac73ce2de150ef5a5ed0ddb22786fd2 (diff)
Don't call notifyPut if document meta store wasn't updated.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/putdonecontext.cpp6
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/putdonecontext.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp18
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);