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


The following commit(s) were added to refs/heads/spill_and_reserve by this push:
     new f2fe63e3863 not check limit when allocator (#43112)
f2fe63e3863 is described below

commit f2fe63e38630181f7e91161a861e6da09589b182
Author: yiguolei <[email protected]>
AuthorDate: Fri Nov 1 22:01:24 2024 +0800

    not check limit when allocator (#43112)
    
    ### What problem does this PR solve?
    <!--
    You need to clearly describe your PR in this part:
    
    1. What problem was fixed (it's best to include specific error reporting
    information). How it was fixed.
    2. Which behaviors were modified. What was the previous behavior, what
    is it now, why was it modified, and what possible impacts might there
    be.
    3. What features were added. Why this function was added.
    4. Which codes were refactored and why this part of the code was
    refactored.
    5. Which functions were optimized and what is the difference before and
    after the optimization.
    
    The description of the PR needs to enable reviewers to quickly and
    clearly understand the logic of the code modification.
    -->
    
    <!--
    If there are related issues, please fill in the issue number.
    - If you want the issue to be closed after the PR is merged, please use
    "close #12345". Otherwise, use "ref #12345"
    -->
    Issue Number: close #xxx
    
    <!--
    If this PR is followup a preivous PR, for example, fix the bug that
    introduced by a related PR,
    link the PR here
    -->
    Related PR: #xxx
    
    Problem Summary:
    
    ### Check List (For Committer)
    
    - Test <!-- At least one of them must be included. -->
    
        - [ ] Regression test
        - [ ] Unit Test
        - [ ] Manual test (add detailed scripts or steps below)
        - [ ] No need to test or manual test. Explain why:
    - [ ] This is a refactor/code format and no logic has been changed.
            - [ ] Previous test can cover this change.
            - [ ] No colde files have been changed.
            - [ ] Other reason <!-- Add your reason?  -->
    
    - Behavior changed:
    
        - [ ] No.
        - [ ] Yes. <!-- Explain the behavior change -->
    
    - Does this need documentation?
    
        - [ ] No.
    - [ ] Yes. <!-- Add document PR link here. eg:
    https://github.com/apache/doris-website/pull/1214 -->
    
    - Release note
    
        <!-- bugfix, feat, behavior changed need a release note -->
        <!-- Add one line release note for this PR. -->
        None
    
    ### Check List (For Reviewer who merge this PR)
    
    - [ ] Confirm the release note
    - [ ] Confirm test cases
    - [ ] Confirm document
    - [ ] Add branch pick label <!-- Add branch pick label that this PR
    should merge into -->
    
    ---------
    
    Co-authored-by: yiguolei <[email protected]>
---
 be/src/runtime/memory/mem_tracker_limiter.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/be/src/runtime/memory/mem_tracker_limiter.h 
b/be/src/runtime/memory/mem_tracker_limiter.h
index 7e1a0e11c83..42790d5f187 100644
--- a/be/src/runtime/memory/mem_tracker_limiter.h
+++ b/be/src/runtime/memory/mem_tracker_limiter.h
@@ -209,7 +209,9 @@ public:
         if (UNLIKELY(bytes == 0)) {
             return true;
         }
-        bool rt = _mem_counter.try_add(bytes, _limit);
+        // If enable overcommit, then the limit is useless, use a very large 
value as limit
+        bool rt = _mem_counter.try_add(
+                bytes, _enable_overcommit ? 
std::numeric_limits<int64_t>::max() : _limit.load());
         if (rt && _query_statistics) {
             _query_statistics->set_max_peak_memory_bytes(peak_consumption());
             _query_statistics->set_current_used_memory_bytes(consumption());
@@ -364,6 +366,7 @@ inline void MemTrackerLimiter::cache_consume(int64_t bytes) 
{
 }
 
 inline Status MemTrackerLimiter::check_limit(int64_t bytes) {
+    /*
     if (bytes <= 0 || _enable_overcommit) {
         return Status::OK();
     }
@@ -372,7 +375,7 @@ inline Status MemTrackerLimiter::check_limit(int64_t bytes) 
{
         return Status::MemoryLimitExceeded(fmt::format("failed alloc size {}, 
{}",
                                                        
MemCounter::print_bytes(bytes),
                                                        
tracker_limit_exceeded_str()));
-    }
+    }*/
     return Status::OK();
 }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to