From 2d70cc532c347b01cc617ef2787399817d9df651 Mon Sep 17 00:00:00 2001 From: Yingchun Lai <405403881@qq.com> Date: Mon, 1 Feb 2021 00:11:29 +0800 Subject: [PATCH] [Bug] Fix CompactionPermitLimiter cv starve bug (#5274) Fix _permits_cv.wait maybe starve to death bug. --- be/src/olap/compaction_permit_limiter.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/be/src/olap/compaction_permit_limiter.cpp b/be/src/olap/compaction_permit_limiter.cpp index b675cf89f42fd9..3e159722434f97 100644 --- a/be/src/olap/compaction_permit_limiter.cpp +++ b/be/src/olap/compaction_permit_limiter.cpp @@ -47,6 +47,7 @@ bool CompactionPermitLimiter::request(int64_t permits) { } void CompactionPermitLimiter::release(int64_t permits) { + std::unique_lock lock(_permits_mutex); _used_permits -= permits; _permits_cv.notify_one(); DorisMetrics::instance()->compaction_used_permits->set_value(_used_permits);