diff options
author | Tor Brede Vekterli <vekterli@yahooinc.com> | 2022-03-21 14:36:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-21 14:36:56 +0100 |
commit | 90db7b1ee93c737e3ab26530c321dfe66f558f53 (patch) | |
tree | 43289308aa81c0821aac4e6014f6493ca913b157 | |
parent | d0f6d0105b1a21f4871bdd347487c267399327c3 (diff) | |
parent | 51185187afa3b4e5eebb8a150b1af7f8d0bc7e34 (diff) |
Merge pull request #21760 from vespa-engine/havardpe/fix-flush-tsan-warning
fix tsan warning in flush test
-rw-r--r-- | searchcore/src/tests/proton/flushengine/flushengine_test.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/searchcore/src/tests/proton/flushengine/flushengine_test.cpp b/searchcore/src/tests/proton/flushengine/flushengine_test.cpp index 506313527eb..4595ce12229 100644 --- a/searchcore/src/tests/proton/flushengine/flushengine_test.cpp +++ b/searchcore/src/tests/proton/flushengine/flushengine_test.cpp @@ -196,7 +196,7 @@ void WrappedFlushTask::run() } class SimpleTask : public searchcorespi::FlushTask { - search::SerialNum &_flushedSerial; + std::atomic<search::SerialNum> &_flushedSerial; search::SerialNum &_currentSerial; public: vespalib::Gate &_start; @@ -207,7 +207,7 @@ public: SimpleTask(vespalib::Gate &start, vespalib::Gate &done, vespalib::Gate *proceed, - search::SerialNum &flushedSerial, + std::atomic<search::SerialNum> &flushedSerial, search::SerialNum ¤tSerial) : _flushedSerial(flushedSerial), _currentSerial(currentSerial), _start(start), _done(done), _proceed(proceed) @@ -218,7 +218,7 @@ public: if (_proceed != nullptr) { _proceed->await(); } - _flushedSerial = _currentSerial; + _flushedSerial.store(_currentSerial, std::memory_order_relaxed); _done.countDown(); } @@ -227,7 +227,7 @@ public: class SimpleTarget : public test::DummyFlushTarget { public: - search::SerialNum _flushedSerial; + std::atomic<search::SerialNum> _flushedSerial; search::SerialNum _currentSerial; vespalib::Gate _proceed; vespalib::Gate _initDone; @@ -276,8 +276,8 @@ public: Time getLastFlushTime() const override { return vespalib::system_clock::now(); } SerialNum getFlushedSerialNum() const override { - LOG(info, "SimpleTarget(%s)::getFlushedSerialNum() = %" PRIu64, getName().c_str(), _flushedSerial); - return _flushedSerial; + LOG(info, "SimpleTarget(%s)::getFlushedSerialNum() = %" PRIu64, getName().c_str(), _flushedSerial.load(std::memory_order_relaxed)); + return _flushedSerial.load(std::memory_order_relaxed); } Task::UP initFlush(SerialNum currentSerial, std::shared_ptr<search::IFlushToken>) override { |