aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp50
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/translogserver.h17
2 files changed, 5 insertions, 62 deletions
diff --git a/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp b/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp
index ee9b0ce81e8..a0853dcbd86 100644
--- a/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp
+++ b/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp
@@ -36,23 +36,19 @@ class SyncHandler : public std::enable_shared_from_this<SyncHandler>
std::atomic<bool> & _closed;
FRT_RPCRequest & _req;
Domain::SP _domain;
- TransLogServer::Session::SP _session;
SerialNum _syncTo;
public:
- SyncHandler(std::atomic<bool>& closed, FRT_RPCRequest *req, const Domain::SP &domain,
- const TransLogServer::Session::SP &session, SerialNum syncTo) noexcept;
+ SyncHandler(std::atomic<bool>& closed, FRT_RPCRequest *req, Domain::SP domain, SerialNum syncTo) noexcept;
~SyncHandler();
void poll();
};
-SyncHandler::SyncHandler(std::atomic<bool>& closed, FRT_RPCRequest *req, const Domain::SP &domain,
- const TransLogServer::Session::SP &session, SerialNum syncTo) noexcept
+SyncHandler::SyncHandler(std::atomic<bool>& closed, FRT_RPCRequest *req, Domain::SP domain, SerialNum syncTo) noexcept
: _closed(closed),
_req(*req),
- _domain(domain),
- _session(session),
+ _domain(std::move(domain)),
_syncTo(syncTo)
{
}
@@ -63,8 +59,7 @@ void
SyncHandler::poll()
{
SerialNum synced(_domain->getSynced());
- if (_session->getDown() ||
- _domain->getMarkedDeleted() ||
+ if (_domain->getMarkedDeleted() ||
_closed.load(std::memory_order_acquire) ||
synced >= _syncTo)
{
@@ -253,9 +248,6 @@ TransLogServer::findDomain(stringref domainName) const
void
TransLogServer::exportRPC(FRT_Supervisor & supervisor)
{
- _supervisor->SetSessionInitHook(FRT_METHOD(TransLogServer::initSession), this);
- _supervisor->SetSessionFiniHook(FRT_METHOD(TransLogServer::finiSession), this);
- _supervisor->SetSessionDownHook(FRT_METHOD(TransLogServer::downSession), this);
FRT_ReflectionBuilder rb( & supervisor);
//-- Create Domain -----------------------------------------------------------
@@ -676,37 +668,6 @@ TransLogServer::domainPrune(FRT_RPCRequest *req)
ret.AddInt32(retval);
}
-const TransLogServer::Session::SP &
-TransLogServer::getSession(FRT_RPCRequest *req)
-{
- FNET_Connection *conn = req->GetConnection();
- void *vctx = conn->GetContext()._value.VOIDP;
- Session::SP *sessionspp = static_cast<Session::SP *>(vctx);
- return *sessionspp;
-}
-
-void
-TransLogServer::initSession(FRT_RPCRequest *req)
-{
- req->GetConnection()->SetContext(new Session::SP(new Session()));
-}
-
-void
-TransLogServer::finiSession(FRT_RPCRequest *req)
-{
- FNET_Connection *conn = req->GetConnection();
- void *vctx = conn->GetContext()._value.VOIDP;
- conn->GetContextPT()->_value.VOIDP = nullptr;
- Session::SP *sessionspp = static_cast<Session::SP *>(vctx);
- delete sessionspp;
-}
-
-void
-TransLogServer::downSession(FRT_RPCRequest *req)
-{
- getSession(req)->setDown();
-}
-
void
TransLogServer::domainSync(FRT_RPCRequest *req)
{
@@ -715,7 +676,6 @@ TransLogServer::domainSync(FRT_RPCRequest *req)
SerialNum syncTo(params[1]._intval64);
LOG(debug, "domainSync(%s, %" PRIu64 ")", domainName, syncTo);
Domain::SP domain(findDomain(domainName));
- Session::SP session(getSession(req));
if ( ! domain) {
FRT_Values &rvals = *req->GetReturn();
@@ -725,7 +685,7 @@ TransLogServer::domainSync(FRT_RPCRequest *req)
return;
}
- auto syncHandler = std::make_shared<SyncHandler>(_closed, req, domain, session, syncTo);
+ auto syncHandler = std::make_shared<SyncHandler>(_closed, req, std::move(domain), syncTo);
syncHandler->poll();
}
diff --git a/searchlib/src/vespa/searchlib/transactionlog/translogserver.h b/searchlib/src/vespa/searchlib/transactionlog/translogserver.h
index 9dcd8cdb6e5..7f17adc99f7 100644
--- a/searchlib/src/vespa/searchlib/transactionlog/translogserver.h
+++ b/searchlib/src/vespa/searchlib/transactionlog/translogserver.h
@@ -35,17 +35,6 @@ public:
std::shared_ptr<Writer> getWriter(const vespalib::string & domainName) const override;
TransLogServer & setDomainConfig(const DomainConfig & cfg);
- class Session
- {
- bool _down;
- public:
- typedef std::shared_ptr<Session> SP;
-
- Session() : _down(false) { }
- bool getDown() const { return _down; }
- void setDown() { _down = true; }
- };
-
private:
bool onStop() override;
void run() override;
@@ -65,17 +54,11 @@ private:
void domainSessionClose(FRT_RPCRequest *req);
void domainSync(FRT_RPCRequest *req);
- void initSession(FRT_RPCRequest *req);
- void finiSession(FRT_RPCRequest *req);
- void downSession(FRT_RPCRequest *req);
-
std::vector<vespalib::string> getDomainNames();
DomainSP findDomain(vespalib::stringref name) const;
vespalib::string dir() const { return _baseDir + "/" + _name; }
vespalib::string domainList() const { return dir() + "/" + _name + ".domains"; }
- static const Session::SP & getSession(FRT_RPCRequest *req);
-
using DomainList = std::map<vespalib::string, DomainSP >;
using ReadGuard = std::shared_lock<std::shared_mutex>;
using WriteGuard = std::unique_lock<std::shared_mutex>;