diff --git a/be/src/olap/memtable_flush_executor.cpp b/be/src/olap/memtable_flush_executor.cpp index de45fd05ed436c..f37cdf12945027 100644 --- a/be/src/olap/memtable_flush_executor.cpp +++ b/be/src/olap/memtable_flush_executor.cpp @@ -148,6 +148,7 @@ void FlushToken::_flush_memtable(MemTable* memtable, int32_t segment_id, int64_t std::lock_guard wrlk(_flush_status_lock); LOG(WARNING) << "Flush memtable failed with res = " << s; _flush_status = s; + return; } VLOG_CRITICAL << "flush memtable wait time:" << flush_wait_time_ns diff --git a/be/src/olap/memtable_flush_executor.h b/be/src/olap/memtable_flush_executor.h index cfe1672e38b158..ee7194349f6d41 100644 --- a/be/src/olap/memtable_flush_executor.h +++ b/be/src/olap/memtable_flush_executor.h @@ -87,8 +87,8 @@ class FlushToken { // Records the current flush status of the tablet. // Note: Once its value is set to Failed, it cannot return to SUCCESS. - Status _flush_status; std::shared_mutex _flush_status_lock; + Status _flush_status; FlushStatistic _stats;