You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2024/09/19 05:58:55 UTC

(doris) 02/02: [bugfix](cache) the cache capacity is wrong when memusage > soft memlimit (#40961)

This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch spill_and_reserve
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 330e0d3dae2cace08d33adc03d30bd1914db810d
Author: yiguolei <67...@qq.com>
AuthorDate: Thu Sep 19 13:56:39 2024 +0800

    [bugfix](cache) the cache capacity is wrong when memusage > soft memlimit (#40961)
    
    ## Proposed changes
    
    bug is introduced by https://github.com/apache/doris/pull/40542
    
    Co-authored-by: yiguolei <yi...@gmail.com>
---
 be/src/common/daemon.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/be/src/common/daemon.cpp b/be/src/common/daemon.cpp
index 3bd0de7ebb6..6e500ef6d59 100644
--- a/be/src/common/daemon.cpp
+++ b/be/src/common/daemon.cpp
@@ -245,10 +245,14 @@ void refresh_cache_capacity() {
         auto cache_capacity_reduce_mem_limit = uint64_t(
                 doris::MemInfo::soft_mem_limit() * config::cache_capacity_reduce_mem_limit_frac);
         int64_t process_memory_usage = doris::GlobalMemoryArbitrator::process_memory_usage();
+        // the rule is like this:
+        // 1. if the process mem usage < soft memlimit * 0.6, then do not need adjust cache capacity.
+        // 2. if the process mem usage > soft memlimit * 0.6 and process mem usage < soft memlimit, then it will be adjusted to a lower value.
+        // 3. if the process mem usage > soft memlimit, then the capacity is adjusted to 0.
         double new_cache_capacity_adjust_weighted =
                 process_memory_usage <= cache_capacity_reduce_mem_limit
                         ? 1
-                        : std::min<double>(
+                        : std::max<double>(
                                   1 - (process_memory_usage - cache_capacity_reduce_mem_limit) /
                                                   (doris::MemInfo::soft_mem_limit() -
                                                    cache_capacity_reduce_mem_limit),


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org