diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-09-22 11:16:01 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-09-22 11:16:01 +0000 |
commit | eec0777e3767e83d622070fd44a5565c64952a9e (patch) | |
tree | 6c5e63d63e39f1b1e048add4c68690692beb9e76 /searchlib | |
parent | 8c5145cdf5fc2931bc59bafae72a5610acc36598 (diff) |
Add currentChunk and allign members
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/transactionlog/domain.cpp | 9 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/transactionlog/domain.h | 35 |
2 files changed, 27 insertions, 17 deletions
diff --git a/searchlib/src/vespa/searchlib/transactionlog/domain.cpp b/searchlib/src/vespa/searchlib/transactionlog/domain.cpp index ff2d963ccd9..9e0f1a8a1aa 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/domain.cpp +++ b/searchlib/src/vespa/searchlib/transactionlog/domain.cpp @@ -29,10 +29,19 @@ using std::runtime_error; using std::make_shared; namespace search::transactionlog { +namespace { + +std::unique_ptr<CommitChunk> +createCommitChunk(const DomainConfig &cfg) { + return std::make_unique<CommitChunk>(cfg.getChunkSizeLimit(), cfg.getChunkSizeLimit()/256); +} + +} Domain::Domain(const string &domainName, const string & baseDir, Executor & executor, const DomainConfig & cfg, const FileHeaderContext &fileHeaderContext) : _config(cfg), + _currentChunk(createCommitChunk(cfg)), _lastSerial(0), _singleCommitter(std::make_unique<vespalib::ThreadStackExecutor>(1, 128 * 1024)), _executor(executor), diff --git a/searchlib/src/vespa/searchlib/transactionlog/domain.h b/searchlib/src/vespa/searchlib/transactionlog/domain.h index 361ac8c1805..7e77e6ef0ef 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/domain.h +++ b/searchlib/src/vespa/searchlib/transactionlog/domain.h @@ -73,23 +73,24 @@ private: using DomainPartList = std::map<SerialNum, DomainPartSP>; using DurationSeconds = std::chrono::duration<double>; - DomainConfig _config; - SerialNum _lastSerial; - std::unique_ptr<Executor> _singleCommitter; - Executor &_executor; - std::atomic<int> _sessionId; - vespalib::Monitor _syncMonitor; - bool _pendingSync; - vespalib::string _name; - DomainPartList _parts; - vespalib::Lock _lock; - vespalib::Monitor _currentChunkMonitor; - vespalib::Lock _sessionLock; - SessionList _sessions; - DurationSeconds _maxSessionRunTime; - vespalib::string _baseDir; - const FileHeaderContext &_fileHeaderContext; - bool _markedDeleted; + DomainConfig _config; + std::unique_ptr<CommitChunk> _currentChunk; + SerialNum _lastSerial; + std::unique_ptr<Executor> _singleCommitter; + Executor &_executor; + std::atomic<int> _sessionId; + vespalib::Monitor _syncMonitor; + bool _pendingSync; + vespalib::string _name; + DomainPartList _parts; + vespalib::Lock _lock; + vespalib::Monitor _currentChunkMonitor; + vespalib::Lock _sessionLock; + SessionList _sessions; + DurationSeconds _maxSessionRunTime; + vespalib::string _baseDir; + const FileHeaderContext &_fileHeaderContext; + bool _markedDeleted; }; } |