diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-10-12 13:14:26 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-10-12 13:14:26 +0200 |
commit | 1f7028c1a609dc1c643c82fe1ea05f7baebb85ba (patch) | |
tree | 5f567d397d38a2a04a30d6fdd07ee9983b034172 /searchlib | |
parent | e1c94134d68d9a10e036d952883fd7a47205318e (diff) |
- Let the commitExecutor and the sessionExecutor be different.
- No need to sync commitExecutor.
Diffstat (limited to 'searchlib')
3 files changed, 4 insertions, 3 deletions
diff --git a/searchlib/src/vespa/searchlib/transactionlog/domain.cpp b/searchlib/src/vespa/searchlib/transactionlog/domain.cpp index e46b8744ae8..74ca3e6527d 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/domain.cpp +++ b/searchlib/src/vespa/searchlib/transactionlog/domain.cpp @@ -193,7 +193,6 @@ Domain::triggerSyncNow() MonitorGuard guard(_syncMonitor); if (!_pendingSync) { _pendingSync = true; - _commitExecutor.sync(); DomainPart::SP dp(_parts.rbegin()->second); _sessionExecutor.execute(Sync::UP(new Sync(_syncMonitor, dp, _pendingSync))); } diff --git a/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp b/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp index 1eb6301f3f5..ca17457bdb9 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp +++ b/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp @@ -93,6 +93,7 @@ TransLogServer::TransLogServer(const vespalib::string &name, int listenPort, con _baseDir(baseDir), _domainPartSize(domainPartSize), _defaultCrcType(defaultCrcType), + _commitExecutor(maxThreads, 128*1024), _sessionExecutor(maxThreads, 128*1024), _threadPool(8192, 1), _supervisor(std::make_unique<FRT_Supervisor>()), @@ -109,7 +110,7 @@ TransLogServer::TransLogServer(const vespalib::string &name, int listenPort, con domainDir >> domainName; if ( ! domainName.empty()) { try { - auto domain = std::make_shared<Domain>(domainName, dir(), _sessionExecutor, _sessionExecutor, + auto domain = std::make_shared<Domain>(domainName, dir(), _commitExecutor, _sessionExecutor, _domainPartSize, _defaultCrcType,_fileHeaderContext); _domains[domain->name()] = domain; } catch (const std::exception & e) { @@ -344,7 +345,7 @@ void TransLogServer::createDomain(FRT_RPCRequest *req) Domain::SP domain(findDomain(domainName)); if ( !domain ) { try { - domain = std::make_shared<Domain>(domainName, dir(), _sessionExecutor, _sessionExecutor, + domain = std::make_shared<Domain>(domainName, dir(), _commitExecutor, _sessionExecutor, _domainPartSize, _defaultCrcType, _fileHeaderContext); { Guard domainGuard(_lock); diff --git a/searchlib/src/vespa/searchlib/transactionlog/translogserver.h b/searchlib/src/vespa/searchlib/transactionlog/translogserver.h index 8b612e4967a..92832786059 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/translogserver.h +++ b/searchlib/src/vespa/searchlib/transactionlog/translogserver.h @@ -82,6 +82,7 @@ private: vespalib::string _baseDir; const uint64_t _domainPartSize; const DomainPart::Crc _defaultCrcType; + vespalib::ThreadStackExecutor _commitExecutor; vespalib::ThreadStackExecutor _sessionExecutor; FastOS_ThreadPool _threadPool; std::unique_ptr<FRT_Supervisor> _supervisor; |