diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-09-30 12:51:50 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-09-30 12:51:50 +0200 |
commit | 7a74c1caf57ca0ac1801e91580acd35bea52d970 (patch) | |
tree | b004b39940c67a0a2b761c2ce6c2a4fe4d94e3e1 | |
parent | 8d54a7cf27c6bbf754fed67be94dce4c391b2256 (diff) |
We only use the directwriter.
5 files changed, 23 insertions, 33 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp b/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp index cbfdb4895cc..3fa2966af73 100644 --- a/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp @@ -6,6 +6,7 @@ #include "i_feed_handler_owner.h" #include "ifeedview.h" #include "tlcproxy.h" +#include "configstore.h" #include <vespa/document/datatype/documenttype.h> #include <vespa/documentapi/messagebus/documentprotocol.h> #include <vespa/documentapi/messagebus/messages/documentreply.h> @@ -82,7 +83,7 @@ ignoreOperation(const DocumentOperation &op) void FeedHandler::TlsMgrWriter::storeOperation(const FeedOperation &op) { - TlcProxy(*_tls_mgr.getSession(), _tlsDirectWriter).storeOperation(op); + TlcProxy(_tls_mgr.getDomainName(), *_tlsDirectWriter).storeOperation(op); } bool FeedHandler::TlsMgrWriter::erase(SerialNum oldest_to_keep) { return _tls_mgr.getSession()->erase(oldest_to_keep); diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp index 290b7b74e87..a445f62f630 100644 --- a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp @@ -8,13 +8,13 @@ #include "storeonlyfeedview.h" #include "updatedonecontext.h" #include "remove_batch_done_context.h" -#include <vespa/document/datatype/documenttype.h> #include <vespa/searchcore/proton/common/commit_time_tracker.h> #include <vespa/searchcore/proton/common/feedtoken.h> #include <vespa/searchcore/proton/documentmetastore/ilidreusedelayer.h> #include <vespa/searchcore/proton/metrics/feed_metrics.h> #include <vespa/searchcore/proton/reference/i_gid_to_lid_change_handler.h> -#include <vespa/searchlib/common/scheduletaskcallback.h> +#include <vespa/document/datatype/documenttype.h> +#include <vespa/document/fieldvalue/document.h> #include <vespa/vespalib/util/exceptions.h> #include <vespa/log/log.h> diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h index fbc8888ac79..021c2b2f8f7 100644 --- a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h +++ b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h @@ -7,7 +7,6 @@ #include "isummaryadapter.h" #include "replaypacketdispatcher.h" #include "searchcontext.h" -#include "tlcproxy.h" #include "pendinglidtracker.h" #include <vespa/searchcore/proton/common/doctypename.h> #include <vespa/searchcore/proton/common/feeddebugger.h> @@ -61,10 +60,13 @@ public: using OnPutDoneType = const std::shared_ptr<PutDoneContext> &; using OnRemoveDoneType = const std::shared_ptr<RemoveDoneContext> &; using FeedTokenUP = std::unique_ptr<FeedToken>; - using FutureDoc = std::future<Document::UP>; - using PromisedDoc = std::promise<Document::UP>; + using FutureDoc = std::future<std::unique_ptr<Document>>; + using PromisedDoc = std::promise<std::unique_ptr<Document>>; using FutureStream = std::future<vespalib::nbostream>; using PromisedStream = std::promise<vespalib::nbostream>; + using DocumentSP = std::shared_ptr<Document>; + using DocumentUpdateSP = std::shared_ptr<DocumentUpdate>; + using Lid = search::DocumentIdT; struct Context @@ -157,7 +159,7 @@ private: return _writeService.summary(); } void putSummary(SerialNum serialNum, Lid lid, FutureStream doc, OnOperationDoneType onDone); - void putSummary(SerialNum serialNum, Lid lid, Document::SP doc, OnOperationDoneType onDone); + void putSummary(SerialNum serialNum, Lid lid, DocumentSP doc, OnOperationDoneType onDone); void removeSummary(SerialNum serialNum, Lid lid, OnWriteDoneType onDone); void heartBeatSummary(SerialNum serialNum); @@ -187,7 +189,7 @@ private: // Ack token early if visibility delay is nonzero void considerEarlyAck(FeedTokenUP &token, FeedOperation::Type opType); - void makeUpdatedDocument(SerialNum serialNum, Lid lid, DocumentUpdate::SP upd, + void makeUpdatedDocument(SerialNum serialNum, Lid lid, DocumentUpdateSP upd, OnOperationDoneType onWriteDone,PromisedDoc promisedDoc, PromisedStream promisedStream); protected: @@ -199,7 +201,7 @@ private: virtual void putAttributes(SerialNum serialNum, Lid lid, const Document &doc, bool immediateCommit, OnPutDoneType onWriteDone); - virtual void putIndexedFields(SerialNum serialNum, Lid lid, const Document::SP &newDoc, + virtual void putIndexedFields(SerialNum serialNum, Lid lid, const DocumentSP &newDoc, bool immediateCommit, OnOperationDoneType onWriteDone); virtual UpdateScope getUpdateScope(const DocumentUpdate &upd); diff --git a/searchcore/src/vespa/searchcore/proton/server/tlcproxy.cpp b/searchcore/src/vespa/searchcore/proton/server/tlcproxy.cpp index c377be9f73d..215650b6664 100644 --- a/searchcore/src/vespa/searchcore/proton/server/tlcproxy.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/tlcproxy.cpp @@ -1,7 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "tlcproxy.h" -#include <vespa/vespalib/util/exceptions.h> +#include <vespa/searchcore/proton/feedoperation/feedoperation.h> #include <vespa/log/log.h> LOG_SETUP(".proton.server.tlcproxy"); @@ -17,16 +17,8 @@ void TlcProxy::commit(search::SerialNum serialNum, search::transactionlog::Type Packet packet; packet.add(entry); packet.close(); - if (_tlsDirectWriter != NULL) { - _tlsDirectWriter->commit(_session.getDomain(), packet); - } else { - if (!_session.commit(vespalib::ConstBufferRef(packet.getHandle().c_str(), packet.getHandle().size()))) { - throw vespalib::IllegalStateException(vespalib::make_string( - "Failed to commit packet %" PRId64 - " to TLS (type = %d, size = %d).", - entry.serial(), type, (uint32_t)buf.size())); - } - } + _tlsDirectWriter.commit(_domain, packet); + } void diff --git a/searchcore/src/vespa/searchcore/proton/server/tlcproxy.h b/searchcore/src/vespa/searchcore/proton/server/tlcproxy.h index ccd870e18a1..8e4feb2f354 100644 --- a/searchcore/src/vespa/searchcore/proton/server/tlcproxy.h +++ b/searchcore/src/vespa/searchcore/proton/server/tlcproxy.h @@ -1,27 +1,22 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <vespa/document/fieldvalue/document.h> -#include <vespa/document/update/documentupdate.h> -#include <vespa/searchcore/proton/feedoperation/feedoperation.h> -#include <vespa/searchlib/query/base.h> -#include <vespa/searchlib/common/serialnum.h> -#include <vespa/searchlib/transactionlog/translogclient.h> -#include "fileconfigmanager.h" -#include <persistence/spi/types.h> +#include <vespa/searchlib/transactionlog/common.h> namespace proton { +class FeedOperation; + class TlcProxy { - search::transactionlog::TransLogClient::Session & _session; - search::transactionlog::Writer * _tlsDirectWriter; + vespalib::string _domain; + search::transactionlog::Writer & _tlsDirectWriter; - void commit( search::SerialNum serialNum, search::transactionlog::Type type, const vespalib::nbostream &buf); + void commit(search::SerialNum serialNum, search::transactionlog::Type type, const vespalib::nbostream &buf); public: typedef std::unique_ptr<TlcProxy> UP; - TlcProxy(search::transactionlog::TransLogClient::Session &session, search::transactionlog::Writer * writer = NULL) - : _session(session), _tlsDirectWriter(writer) {} + TlcProxy(const vespalib::string & domain, search::transactionlog::Writer & writer) + : _domain(domain), _tlsDirectWriter(writer) {} void storeOperation(const FeedOperation &op); }; |