提交 c724a283 编写于 作者: G groot 提交者: xj.lin

avoid background merge thread stop


Former-commit-id: 7750a6df8cbec3ab3aab090f0c81e641795b9f03
上级 33a0911c
...@@ -229,7 +229,6 @@ void DBImpl::BackgroundTimerTask() { ...@@ -229,7 +229,6 @@ void DBImpl::BackgroundTimerTask() {
Status status; Status status;
server::SystemInfo::GetInstance().Init(); server::SystemInfo::GetInstance().Init();
while (true) { while (true) {
if (!bg_error_.ok()) break;
if (shutting_down_.load(std::memory_order_acquire)){ if (shutting_down_.load(std::memory_order_acquire)){
for(auto& iter : compact_thread_results_) { for(auto& iter : compact_thread_results_) {
iter.wait(); iter.wait();
...@@ -392,7 +391,7 @@ void DBImpl::BackgroundCompaction(std::set<std::string> table_ids) { ...@@ -392,7 +391,7 @@ void DBImpl::BackgroundCompaction(std::set<std::string> table_ids) {
for (auto& table_id : table_ids) { for (auto& table_id : table_ids) {
status = BackgroundMergeFiles(table_id); status = BackgroundMergeFiles(table_id);
if (!status.ok()) { if (!status.ok()) {
bg_error_ = status; ENGINE_LOG_ERROR << "Merge files for table " << table_id << " failed: " << status.ToString();
return; return;
} }
} }
...@@ -498,7 +497,7 @@ void DBImpl::BackgroundBuildIndex() { ...@@ -498,7 +497,7 @@ void DBImpl::BackgroundBuildIndex() {
/* ENGINE_LOG_DEBUG << "Buiding index for " << file.location; */ /* ENGINE_LOG_DEBUG << "Buiding index for " << file.location; */
status = BuildIndex(file); status = BuildIndex(file);
if (!status.ok()) { if (!status.ok()) {
bg_error_ = status; ENGINE_LOG_ERROR << "Building index for " << file.id_ << " failed: " << status.ToString();
return; return;
} }
......
...@@ -114,10 +114,8 @@ class DBImpl : public DB { ...@@ -114,10 +114,8 @@ class DBImpl : public DB {
BuildIndex(const meta::TableFileSchema &); BuildIndex(const meta::TableFileSchema &);
private: private:
const Options options_; const Options options_;
Status bg_error_;
std::atomic<bool> shutting_down_; std::atomic<bool> shutting_down_;
std::thread bg_timer_thread_; std::thread bg_timer_thread_;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册