aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-09-22 10:05:23 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-09-22 10:05:23 +0000
commit20d0f96d2e6f276669293780adc67421aea0dee2 (patch)
treeff5442432ad37fd4c4a467699aec0547e1c037a6 /searchlib/src
parent6eab511ac74f9c60427d3510a55003e4c7d380ac (diff)
Add [[nodiscard]] attribute to startCommit.
Diffstat (limited to 'searchlib/src')
-rw-r--r--searchlib/src/tests/transactionlog/translogclient_test.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/common/fileheadercontext.h34
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/common.h6
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/domain.cpp3
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/domain.h40
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp2
6 files changed, 34 insertions, 53 deletions
diff --git a/searchlib/src/tests/transactionlog/translogclient_test.cpp b/searchlib/src/tests/transactionlog/translogclient_test.cpp
index 478bc594368..fffb70467a3 100644
--- a/searchlib/src/tests/transactionlog/translogclient_test.cpp
+++ b/searchlib/src/tests/transactionlog/translogclient_test.cpp
@@ -334,7 +334,7 @@ fillDomainTest(TransLogServer & s1, const vespalib::string & domain, size_t numP
}
}
domainWriter->append(*p, std::make_shared<CountDone>(inFlight));
- domainWriter->startCommit(Writer::DoneCallback());
+ auto keep = domainWriter->startCommit(Writer::DoneCallback());
LOG(info, "Inflight %ld", inFlight.load());
}
while (inFlight.load() != 0) {
diff --git a/searchlib/src/vespa/searchlib/common/fileheadercontext.h b/searchlib/src/vespa/searchlib/common/fileheadercontext.h
index 6f76fe1717d..8bb3d6a56a6 100644
--- a/searchlib/src/vespa/searchlib/common/fileheadercontext.h
+++ b/searchlib/src/vespa/searchlib/common/fileheadercontext.h
@@ -3,40 +3,22 @@
#include <vespa/vespalib/stllike/string.h>
-namespace vespalib
-{
-
-class GenericHeader;
-
+namespace vespalib {
+ class GenericHeader;
}
-namespace search
-{
-
-namespace common
-{
+namespace search::common {
class FileHeaderContext
{
public:
FileHeaderContext();
+ virtual ~FileHeaderContext();
- virtual
- ~FileHeaderContext();
+ virtual void addTags(vespalib::GenericHeader &header, const vespalib::string &name) const = 0;
- virtual void
- addTags(vespalib::GenericHeader &header,
- const vespalib::string &name) const = 0;
-
- static void
- addCreateAndFreezeTime(vespalib::GenericHeader &header);
-
- static void
- setFreezeTime(vespalib::GenericHeader &header);
+ static void addCreateAndFreezeTime(vespalib::GenericHeader &header);
+ static void setFreezeTime(vespalib::GenericHeader &header);
};
-
-} // namespace common
-
-} // namespace search
-
+}
diff --git a/searchlib/src/vespa/searchlib/transactionlog/common.h b/searchlib/src/vespa/searchlib/transactionlog/common.h
index 43b20b57045..5d07d51cdf2 100644
--- a/searchlib/src/vespa/searchlib/transactionlog/common.h
+++ b/searchlib/src/vespa/searchlib/transactionlog/common.h
@@ -16,7 +16,7 @@ class SerialNumRange
{
public:
SerialNumRange() : _from(0), _to(0) { }
- SerialNumRange(SerialNum f) : _from(f), _to(f ? f-1 : f) { }
+ explicit SerialNumRange(SerialNum f) : _from(f), _to(f ? f-1 : f) { }
SerialNumRange(SerialNum f, SerialNum t) : _from(f), _to(t) { }
bool operator == (const SerialNumRange & b) const { return cmp(b) == 0; }
bool operator < (const SerialNumRange & b) const { return cmp(b) < 0; }
@@ -63,7 +63,7 @@ public:
vespalib::ConstBufferRef _data;
};
public:
- Packet(size_t reserved) : _count(0), _range(), _buf(reserved) { }
+ explicit Packet(size_t reserved) : _count(0), _range(), _buf(reserved) { }
Packet(const void * buf, size_t sz);
void add(const Entry & data);
void clear() { _buf.clear(); _count = 0; _range.from(0); _range.to(0); }
@@ -101,7 +101,7 @@ public:
};
virtual ~Writer() = default;
virtual void append(const Packet & packet, DoneCallback done) = 0;
- virtual CommitResult startCommit(DoneCallback onDone) = 0;
+ [[nodiscard]] virtual CommitResult startCommit(DoneCallback onDone) = 0;
};
class WriterFactory {
diff --git a/searchlib/src/vespa/searchlib/transactionlog/domain.cpp b/searchlib/src/vespa/searchlib/transactionlog/domain.cpp
index 7a7be3ab86b..ff2d963ccd9 100644
--- a/searchlib/src/vespa/searchlib/transactionlog/domain.cpp
+++ b/searchlib/src/vespa/searchlib/transactionlog/domain.cpp
@@ -25,7 +25,6 @@ using vespalib::makeClosure;
using vespalib::makeLambdaTask;
using vespalib::Monitor;
using vespalib::MonitorGuard;
-using search::common::FileHeaderContext;
using std::runtime_error;
using std::make_shared;
@@ -35,7 +34,7 @@ Domain::Domain(const string &domainName, const string & baseDir, Executor & exec
const DomainConfig & cfg, const FileHeaderContext &fileHeaderContext)
: _config(cfg),
_lastSerial(0),
- _singleCommiter(std::make_unique<vespalib::ThreadStackExecutor>(1, 128*1024)),
+ _singleCommitter(std::make_unique<vespalib::ThreadStackExecutor>(1, 128 * 1024)),
_executor(executor),
_sessionId(1),
_syncMonitor(),
diff --git a/searchlib/src/vespa/searchlib/transactionlog/domain.h b/searchlib/src/vespa/searchlib/transactionlog/domain.h
index 86e3681f0a1..361ac8c1805 100644
--- a/searchlib/src/vespa/searchlib/transactionlog/domain.h
+++ b/searchlib/src/vespa/searchlib/transactionlog/domain.h
@@ -18,8 +18,9 @@ public:
using SP = std::shared_ptr<Domain>;
using Executor = vespalib::SyncableThreadExecutor;
using DomainPartSP = std::shared_ptr<DomainPart>;
+ using FileHeaderContext = common::FileHeaderContext;
Domain(const vespalib::string &name, const vespalib::string &baseDir, Executor & executor,
- const DomainConfig & cfg, const common::FileHeaderContext &fileHeaderContext);
+ const DomainConfig & cfg, const FileHeaderContext &fileHeaderContext);
~Domain() override;
@@ -28,14 +29,13 @@ public:
bool erase(SerialNum to);
void append(const Packet & packet, Writer::DoneCallback onDone) override;
- CommitResult startCommit(DoneCallback onDone) override;
+ [[nodiscard]] CommitResult startCommit(DoneCallback onDone) override;
int visit(const Domain::SP & self, SerialNum from, SerialNum to, std::unique_ptr<Destination> dest);
SerialNum begin() const;
SerialNum end() const;
SerialNum getSynced() const;
void triggerSyncNow();
- bool commitIfStale();
bool getMarkedDeleted() const { return _markedDeleted; }
void markDeleted() { _markedDeleted = true; }
@@ -73,23 +73,23 @@ private:
using DomainPartList = std::map<SerialNum, DomainPartSP>;
using DurationSeconds = std::chrono::duration<double>;
- DomainConfig _config;
- SerialNum _lastSerial;
- std::unique_ptr<Executor> _singleCommiter;
- 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 common::FileHeaderContext &_fileHeaderContext;
- bool _markedDeleted;
+ 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;
};
}
diff --git a/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp b/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp
index 9b7d328d9cb..7be3dd708a5 100644
--- a/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp
+++ b/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp
@@ -573,7 +573,7 @@ TransLogServer::domainCommit(FRT_RPCRequest *req)
try {
vespalib::Gate gate;
domain->append(packet, make_shared<GateCallback>(gate));
- domain->startCommit(make_shared<IgnoreCallback>());
+ auto keep = domain->startCommit(make_shared<IgnoreCallback>());
gate.await();
ret.AddInt32(0);
ret.AddString("ok");