Fix DBTest::SoftLimit TSAN failure

Summary:
Fix data race found by TSAN around WriteStallListener: https://gist.github.com/yiwu-arbug/027d2448b903648f2f0f40b05258d80f
Closes https://github.com/facebook/rocksdb/pull/3384

Differential Revision: D6762167

Pulled By: yiwu-arbug

fbshipit-source-id: cd3a5c9f806de390bd1af6077ea6dbbc8bcaec09
main
Yi Wu 7 years ago committed by Facebook Github Bot
parent 47ad6b81ff
commit 5568aec421
  1. 3
      db/db_test.cc

@ -5355,12 +5355,15 @@ class WriteStallListener : public EventListener {
public: public:
WriteStallListener() : condition_(WriteStallCondition::kNormal) {} WriteStallListener() : condition_(WriteStallCondition::kNormal) {}
void OnStallConditionsChanged(const WriteStallInfo& info) override { void OnStallConditionsChanged(const WriteStallInfo& info) override {
MutexLock l(&mutex_);
condition_ = info.condition.cur; condition_ = info.condition.cur;
} }
bool CheckCondition(WriteStallCondition expected) { bool CheckCondition(WriteStallCondition expected) {
MutexLock l(&mutex_);
return expected == condition_; return expected == condition_;
} }
private: private:
port::Mutex mutex_;
WriteStallCondition condition_; WriteStallCondition condition_;
}; };

Loading…
Cancel
Save