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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]