summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-09-22 11:16:01 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-09-22 11:16:01 +0000
commiteec0777e3767e83d622070fd44a5565c64952a9e (patch)
tree6c5e63d63e39f1b1e048add4c68690692beb9e76 /searchlib
parent8c5145cdf5fc2931bc59bafae72a5610acc36598 (diff)
Add currentChunk and allign members
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/domain.cpp9
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/domain.h35
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;
};
}