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

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


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 67a2daf33c6 [fix](execution) fix wrong check when blocking result sink 
(#40289)
67a2daf33c6 is described below

commit 67a2daf33c621827dd6358021279e2b9fcae0e81
Author: Mingyu Chen <morning...@163.com>
AuthorDate: Tue Sep 3 14:17:42 2024 +0800

    [fix](execution) fix wrong check when blocking result sink (#40289)
    
    Otherwise, when client stop fetch result data, the result sink will
    still adding batch to the result queue,
    which causing BE OOM.
---
 be/src/runtime/buffer_control_block.cpp | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/be/src/runtime/buffer_control_block.cpp 
b/be/src/runtime/buffer_control_block.cpp
index 6ac22212820..4b9fa57ce64 100644
--- a/be/src/runtime/buffer_control_block.cpp
+++ b/be/src/runtime/buffer_control_block.cpp
@@ -312,12 +312,12 @@ void PipBufferControlBlock::set_dependency(
 }
 
 void PipBufferControlBlock::_update_dependency() {
-    if (_result_sink_dependency &&
-        (_batch_queue_empty || _buffer_rows < _buffer_limit || _is_cancelled)) 
{
-        _result_sink_dependency->set_ready();
-    } else if (_result_sink_dependency &&
-               (!_batch_queue_empty && _buffer_rows < _buffer_limit && 
!_is_cancelled)) {
-        _result_sink_dependency->block();
+    if (_result_sink_dependency) {
+        if (_batch_queue_empty || _buffer_rows < _buffer_limit || 
_is_cancelled) {
+            _result_sink_dependency->set_ready();
+        } else {
+            _result_sink_dependency->block();
+        }
     }
 }
 


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

Reply via email to