diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-10-12 14:52:43 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-10-12 14:52:43 +0200 |
commit | e8e82b948e98922df075fa75cb7cad57008368ce (patch) | |
tree | 1931a84dea6ca69f01963711d6d930306f184336 /searchcore | |
parent | dd53c99e70759ab6f5b4e77144a4c7aaa40e8438 (diff) |
No more tracing code that will never be invoked. Nor will the trac enever make it to the outside if it was invoked.
Diffstat (limited to 'searchcore')
8 files changed, 18 insertions, 157 deletions
diff --git a/searchcore/src/tests/proton/feedtoken/feedtoken.cpp b/searchcore/src/tests/proton/feedtoken/feedtoken.cpp index 3a01e35fbe5..9df65ae3437 100644 --- a/searchcore/src/tests/proton/feedtoken/feedtoken.cpp +++ b/searchcore/src/tests/proton/feedtoken/feedtoken.cpp @@ -42,7 +42,6 @@ private: void testFail(); void testHandover(); void testIntegrity(); - void testTrace(); public: int Main() override { @@ -53,7 +52,6 @@ public: testFail(); TEST_FLUSH(); testHandover(); TEST_FLUSH(); // testIntegrity(); TEST_FLUSH(); - testTrace(); TEST_FLUSH(); TEST_DONE(); } @@ -134,19 +132,3 @@ Test::testIntegrity() } } -void -Test::testTrace() -{ - LocalTransport transport; - mbus::Reply::UP reply(new documentapi::RemoveDocumentReply()); - - FeedToken token(transport, std::move(reply)); - token.trace(0, "foo"); - token.ack(); - reply = transport.getReply(); - ASSERT_TRUE(reply.get() != NULL); - EXPECT_TRUE(!reply->hasErrors()); - std::string trace = reply->getTrace().toString(); - fprintf(stderr, "%s", trace.c_str()); - EXPECT_TRUE(trace.find("foo") != std::string::npos); -} diff --git a/searchcore/src/vespa/searchcore/proton/common/feedtoken.cpp b/searchcore/src/vespa/searchcore/proton/common/feedtoken.cpp index f89f32e5a74..545a303cb16 100644 --- a/searchcore/src/vespa/searchcore/proton/common/feedtoken.cpp +++ b/searchcore/src/vespa/searchcore/proton/common/feedtoken.cpp @@ -90,12 +90,4 @@ FeedToken::State::fail(uint32_t errNum, const vespalib::string &errMsg) _transport.send(std::move(_reply), std::move(_result), _documentWasFound, _startTime.MilliSecsToNow()); } -void -FeedToken::State::trace(uint32_t traceLevel, const vespalib::string &traceMsg) -{ - assert(_reply); - vespalib::LockGuard guard(_lock); - _reply->getTrace().trace(traceLevel, traceMsg); -} - } // namespace proton diff --git a/searchcore/src/vespa/searchcore/proton/common/feedtoken.h b/searchcore/src/vespa/searchcore/proton/common/feedtoken.h index fd97cc6242a..722827ded87 100644 --- a/searchcore/src/vespa/searchcore/proton/common/feedtoken.h +++ b/searchcore/src/vespa/searchcore/proton/common/feedtoken.h @@ -43,8 +43,6 @@ private: void incNeededAcks(); void fail(uint32_t errNum, const vespalib::string &errMsg); - void trace(uint32_t traceLevel, const vespalib::string &traceMsg); - bool shouldTrace(uint32_t traceLevel) const { return _reply->getTrace().shouldTrace(traceLevel); } mbus::Reply & getReply() { return *_reply; } void setResult(ResultUP result, bool documentWasFound) { _documentWasFound = documentWasFound; @@ -110,23 +108,6 @@ public: void fail(uint32_t errNum, const vespalib::string &errMsg) const { _state->fail(errNum, errMsg); } /** - * Writes a trace message to the receipt of this operation that will later - * be passed back to the FeedEngine through ack() or fail(). - * - * @param traceLevel The level of the message to write. - * @param traceMsg The message to write. - */ - void trace(uint32_t traceLevel, const vespalib::string &traceMsg) const { _state->trace(traceLevel, traceMsg); } - - /** - * Tell you if tracing at this level is enabled - * - * @param traceLevel The level you want to trace at. - * @return if you should trace or not. - */ - bool shouldTrace(uint32_t traceLevel) const { return _state->shouldTrace(traceLevel); } - - /** * Gives you access to the underlying reply message. * * @return The reply diff --git a/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp b/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp index 7cb68a8721b..bb5f058429a 100644 --- a/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp @@ -126,13 +126,6 @@ void FeedHandler::performPut(FeedToken::UP token, PutOperation &op) { storeOperation(op); if (token) { token->setResult(ResultUP(new Result), false); - if (token->shouldTrace(1)) { - const document::DocumentId &docId = op.getDocument()->getId(); - const document::GlobalId &gid = docId.getGlobalId(); - token->trace(1, make_string("Indexing document '%s' (gid = '%s',lid = '%u,%u' prevlid = '%u,%u').", - docId.toString().c_str(), gid.toString().c_str(), op.getSubDbId(), - op.getLid(), op.getPrevSubDbId(), op.getPrevLid())); - } } _activeFeedView->handlePut(token.get(), op); } @@ -149,11 +142,6 @@ FeedHandler::performUpdate(FeedToken::UP token, UpdateOperation &op) } else { if (token) { token->setResult(ResultUP(new UpdateResult(Timestamp(0))), false); - if (token->shouldTrace(1)) { - const document::DocumentId &docId = op.getUpdate()->getId(); - token->trace(1, make_string("Document '%s' not found. Update operation ignored", - docId.toString().c_str())); - } setUpdateWasFound(token->getReply(), false); token->ack(op.getType(), _metrics); } @@ -167,13 +155,6 @@ FeedHandler::performInternalUpdate(FeedToken::UP token, UpdateOperation &op) storeOperation(op); if (token) { token->setResult(ResultUP(new UpdateResult(op.getPrevTimestamp())), true); - if (token->shouldTrace(1)) { - const document::DocumentId &docId = op.getUpdate()->getId(); - const document::GlobalId &gid = docId.getGlobalId(); - token->trace(1, make_string("Updating document '%s' (gid = '%s', lid = '%u,%u' prevlid = '%u,%u').", - docId.toString().c_str(), gid.toString().c_str(), op.getSubDbId(), - op.getLid(), op.getPrevSubDbId(), op.getPrevLid())); - } setUpdateWasFound(token->getReply(), true); } _activeFeedView->handleUpdate(token.get(), op); @@ -191,18 +172,6 @@ FeedHandler::createNonExistingDocument(FeedToken::UP token, const UpdateOperatio storeOperation(putOp); if (token) { token->setResult(ResultUP(new UpdateResult(putOp.getTimestamp())), true); - if (token->shouldTrace(1)) { - const document::DocumentId &docId = putOp.getDocument()->getId(); - const document::GlobalId &gid = docId.getGlobalId(); - token->trace(1, make_string("Creating non-existing document '%s' for update (gid='%s'," - " lid= %u,%u' prevlid='%u,%u').", - docId.toString().c_str(), - gid.toString().c_str(), - putOp.getSubDbId(), - putOp.getLid(), - putOp.getPrevSubDbId(), - putOp.getPrevLid())); - } setUpdateWasFound(token->getReply(), true); } TransportLatch latch(1); @@ -233,13 +202,6 @@ void FeedHandler::performRemove(FeedToken::UP token, RemoveOperation &op) { if (token) { bool documentWasFound = !op.getPrevMarkedAsRemoved(); token->setResult(ResultUP(new RemoveResult(documentWasFound)), documentWasFound); - if (token->shouldTrace(1)) { - const document::DocumentId &docId = op.getDocumentId(); - const document::GlobalId &gid = docId.getGlobalId(); - token->trace(1, make_string("Removing document '%s' (gid = '%s', lid = '%u,%u' prevlid = '%u,%u').", - docId.toString().c_str(), gid.toString().c_str(), op.getSubDbId(), - op.getLid(), op.getPrevSubDbId(), op.getPrevLid())); - } setRemoveWasFound(token->getReply(), documentWasFound); } _activeFeedView->handleRemove(token.get(), op); @@ -248,20 +210,12 @@ void FeedHandler::performRemove(FeedToken::UP token, RemoveOperation &op) { storeOperation(op); if (token) { token->setResult(ResultUP(new RemoveResult(false)), false); - if (token->shouldTrace(1)) { - token->trace(1, make_string("Document '%s' not found. Remove operation stored.", - op.getDocumentId().toString().c_str())); - } setRemoveWasFound(token->getReply(), false); } _activeFeedView->handleRemove(token.get(), op); } else { if (token) { token->setResult(ResultUP(new RemoveResult(false)), false); - if (token->shouldTrace(1)) { - token->trace(1, make_string("Document '%s' not found. Remove operation ignored", - op.getDocumentId().toString().c_str())); - } setRemoveWasFound(token->getReply(), false); token->ack(op.getType(), _metrics); } diff --git a/searchcore/src/vespa/searchcore/proton/server/operationdonecontext.cpp b/searchcore/src/vespa/searchcore/proton/server/operationdonecontext.cpp index 3e2ebcbad38..19235bb1e23 100644 --- a/searchcore/src/vespa/searchcore/proton/server/operationdonecontext.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/operationdonecontext.cpp @@ -28,10 +28,4 @@ OperationDoneContext::ack() } } -bool -OperationDoneContext::shouldTrace(uint32_t traceLevel) -{ - return _token ? _token->shouldTrace(traceLevel) : false; -} - } // namespace proton diff --git a/searchcore/src/vespa/searchcore/proton/server/operationdonecontext.h b/searchcore/src/vespa/searchcore/proton/server/operationdonecontext.h index a63de0e2fbb..3f7a6436604 100644 --- a/searchcore/src/vespa/searchcore/proton/server/operationdonecontext.h +++ b/searchcore/src/vespa/searchcore/proton/server/operationdonecontext.h @@ -5,8 +5,7 @@ #include <vespa/searchlib/common/idestructorcallback.h> #include <vespa/searchcore/proton/feedoperation/feedoperation.h> -namespace proton -{ +namespace proton { class PerDocTypeFeedMetrics; class FeedToken; @@ -33,10 +32,7 @@ public: PerDocTypeFeedMetrics &metrics); virtual ~OperationDoneContext(); - FeedToken *getToken() { return _token.get(); } - - bool shouldTrace(uint32_t traceLevel); }; diff --git a/searchcore/src/vespa/searchcore/proton/server/searchable_feed_view.cpp b/searchcore/src/vespa/searchcore/proton/server/searchable_feed_view.cpp index 6216af77a56..d3d73b42fbe 100644 --- a/searchcore/src/vespa/searchcore/proton/server/searchable_feed_view.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/searchable_feed_view.cpp @@ -28,20 +28,12 @@ using vespalib::makeLambdaTask; namespace proton { -namespace { - -bool shouldTrace(StoreOnlyFeedView::OnOperationDoneType onWriteDone, uint32_t traceLevel) { - return onWriteDone && onWriteDone->shouldTrace(traceLevel); -} - -} - SearchableFeedView::Context::Context(const IIndexWriter::SP &indexWriter) : _indexWriter(indexWriter) {} -SearchableFeedView::Context::~Context() {} +SearchableFeedView::Context::~Context() = default; SearchableFeedView::SearchableFeedView(const StoreOnlyFeedView::Context &storeOnlyCtx, const PersistentParams ¶ms, @@ -52,7 +44,7 @@ SearchableFeedView::SearchableFeedView(const StoreOnlyFeedView::Context &storeOn _hasIndexedFields(_schema->getNumIndexFields() > 0) { } -SearchableFeedView::~SearchableFeedView() {} +SearchableFeedView::~SearchableFeedView() = default; void SearchableFeedView::performSync() @@ -98,10 +90,6 @@ SearchableFeedView::performIndexPut(SerialNum serialNum, search::DocumentIdT lid if (immediateCommit) { _indexWriter->commit(serialNum, onWriteDone); } - if (shouldTrace(onWriteDone, 1)) { - FeedToken *token = onWriteDone->getToken(); - token->trace(1, "Document indexed = . New Value : " + doc.toString(token->shouldTrace(2))); - } } void @@ -160,9 +148,6 @@ void SearchableFeedView::updateIndexedFields(SerialNum serialNum, search::DocumentIdT lid, FutureDoc futureDoc, bool immediateCommit, OnOperationDoneType onWriteDone) { - if (shouldTrace(onWriteDone, 1)) { - onWriteDone->getToken()->trace(1, "Then we can update the index."); - } _writeService.index().execute( makeLambdaTask([serialNum, lid, futureDoc = std::move(futureDoc), immediateCommit, onWriteDone = std::move(onWriteDone), this]() mutable { @@ -189,7 +174,7 @@ SearchableFeedView::performIndexRemove(SerialNum serialNum, search::DocumentIdT bool immediateCommit, OnRemoveDoneType onWriteDone) { assert(_writeService.index().isCurrentThread()); - VLOG(getDebugLevel(lid, NULL), + VLOG(getDebugLevel(lid, nullptr), "database(%s): performIndexRemove: serialNum(%" PRIu64 "), lid(%d)", _params._docTypeName.toString().c_str(), serialNum, lid); @@ -197,10 +182,6 @@ SearchableFeedView::performIndexRemove(SerialNum serialNum, search::DocumentIdT if (immediateCommit) { _indexWriter->commit(serialNum, onWriteDone); } - FeedToken *token = onWriteDone ? onWriteDone->getToken() : nullptr; - if (token != nullptr && token->shouldTrace(1)) { - token->trace(1, make_string("Document with lid %d removed.", lid)); - } } void @@ -209,7 +190,7 @@ SearchableFeedView::performIndexRemove(SerialNum serialNum, const LidVector &lid { assert(_writeService.index().isCurrentThread()); for (const auto lid : lidsToRemove) { - VLOG(getDebugLevel(lid, NULL), + VLOG(getDebugLevel(lid, nullptr), "database(%s): performIndexRemove: serialNum(%" PRIu64 "), " "lid(%d)", _params._docTypeName.toString().c_str(), diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp index a445f62f630..de3e1648085 100644 --- a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp @@ -38,15 +38,11 @@ namespace proton { namespace { -bool shouldTrace(StoreOnlyFeedView::OnOperationDoneType onWriteDone, uint32_t traceLevel) { - return onWriteDone && onWriteDone->shouldTrace(traceLevel); -} - FeedToken::UP dupFeedToken(FeedToken *token) { - // If token is not NULL then a new feed token is created, referencing + // If token is not nullptr then a new feed token is created, referencing // same shared state as old token. - if (token != NULL) { + if (token != nullptr) { return std::make_unique<FeedToken>(*token); } else { return FeedToken::UP(); @@ -207,7 +203,7 @@ StoreOnlyFeedView::StoreOnlyFeedView(const Context &ctx, const PersistentParams _summaryAdapter(ctx._summaryAdapter), _documentMetaStoreContext(ctx._documentMetaStoreContext), _repo(ctx._repo), - _docType(NULL), + _docType(nullptr), _lidReuseDelayer(ctx._lidReuseDelayer), _commitTimeTracker(ctx._commitTimeTracker), _pendingLidTracker(), @@ -311,7 +307,7 @@ StoreOnlyFeedView::internalPut(FeedToken::UP token, const PutOperation &putOp) assert(!putOp.getValidDbdId(_params._subDbId)); internalRemove(std::move(token), serialNum, std::move(pendingNotifyRemoveDone), putOp.getPrevLid(), putOp.getType(), IDestructorCallback::SP()); } - if (token.get() != NULL) { + if (token) { token->ack(putOp.getType(), _params._metrics); } } @@ -410,7 +406,7 @@ void StoreOnlyFeedView::heartBeatSummary(SerialNum serialNum) { void StoreOnlyFeedView::internalUpdate(FeedToken::UP token, const UpdateOperation &updOp) { - if (updOp.getUpdate().get() == NULL) { + if ( ! updOp.getUpdate()) { LOG(warning, "database(%s): ignoring invalid update operation", _params._docTypeName.toString().c_str()); return; @@ -469,11 +465,6 @@ StoreOnlyFeedView::internalUpdate(FeedToken::UP token, const UpdateOperation &up }); #pragma GCC diagnostic pop } - if (!updateScope._indexedFields && onWriteDone) { - if (onWriteDone->shouldTrace(1)) { - token->trace(1, "Partial update applied."); - } - } } void @@ -485,38 +476,28 @@ StoreOnlyFeedView::makeUpdatedDocument(SerialNum serialNum, Lid lid, DocumentUpd const DocumentUpdate & upd = *update; Document::UP newDoc; vespalib::nbostream newStream(12345); - assert(onWriteDone->getToken() == NULL || useDocumentStore(serialNum)); + assert(onWriteDone->getToken() == nullptr || useDocumentStore(serialNum)); if (useDocumentStore(serialNum)) { - assert(prevDoc.get() != NULL); + assert(prevDoc); } - if (prevDoc.get() == NULL) { + if (!prevDoc) { // Replaying, document removed later before summary was flushed. - assert(onWriteDone->getToken() == NULL); + assert(onWriteDone->getToken() == nullptr); // If we've passed serial number for flushed index then we could // also check that this operation is marked for ignore by index // proxy. } else { if (upd.getId() == prevDoc->getId()) { - if (shouldTrace(onWriteDone, 1)) { - FeedToken *token = onWriteDone->getToken(); - token->trace(1, "The update looks like : " + upd.toString(token->shouldTrace(2))); - } + newDoc = std::move(prevDoc); if (useDocumentStore(serialNum)) { - LOG(spam, "Original document :\n%s", newDoc->toXml(" ").c_str()); - LOG(spam, "Update\n%s", upd.toXml().c_str()); upd.applyTo(*newDoc); - LOG(spam, "Updated document :\n%s", newDoc->toXml(" ").c_str()); newDoc->serialize(newStream); - LOG(spam, "Serialized new document to a buffer of %zd bytes", newStream.size()); - if (shouldTrace(onWriteDone, 1)) { - onWriteDone->getToken()->trace(1, "Then we update summary."); - } } } else { // Replaying, document removed and lid reused before summary // was flushed. - assert(onWriteDone->getToken() == NULL && !useDocumentStore(serialNum)); + assert(onWriteDone->getToken() == nullptr && !useDocumentStore(serialNum)); } } promisedDoc.set_value(std::move(newDoc)); @@ -588,7 +569,7 @@ StoreOnlyFeedView::internalRemove(FeedToken::UP token, const RemoveOperation &rm internalRemove(std::move(token), serialNum, std::move(pendingNotifyRemoveDone), rmOp.getPrevLid(), rmOp.getType(), IDestructorCallback::SP()); } } - if (token.get() != NULL) { + if (token) { token->ack(rmOp.getType(), _params._metrics); } } @@ -644,7 +625,7 @@ StoreOnlyFeedView::removeDocuments(const RemoveDocumentsOperation &op, bool remo { const SerialNum serialNum = op.getSerialNum(); const LidVectorContext::SP &ctx = op.getLidsToRemove(_params._subDbId); - if (!ctx.get()) { + if (!ctx) { if (useDocumentMetaStore(serialNum)) { _metaStore.commit(serialNum, serialNum); } |