You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2022/10/26 13:02:45 UTC

[doris] branch branch-1.1-lts updated: [cherry-Pick](fix) fix core dump on big block loa (#13684)

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

morningman pushed a commit to branch branch-1.1-lts
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-1.1-lts by this push:
     new 81865786db [cherry-Pick](fix) fix core dump on big block loa (#13684)
81865786db is described below

commit 81865786db2a2d35c679a9565a78d6dbf82974dc
Author: Pxl <px...@qq.com>
AuthorDate: Wed Oct 26 21:02:37 2022 +0800

    [cherry-Pick](fix) fix core dump on big block loa (#13684)
    
    cherry-pick from #13014
---
 be/src/vec/exec/vtable_function_node.cpp | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/be/src/vec/exec/vtable_function_node.cpp b/be/src/vec/exec/vtable_function_node.cpp
index e38d5c3726..b7790dffaa 100644
--- a/be/src/vec/exec/vtable_function_node.cpp
+++ b/be/src/vec/exec/vtable_function_node.cpp
@@ -107,7 +107,7 @@ Status VTableFunctionNode::get_expanded_block(RuntimeState* state, Block* output
         }
     }
 
-    while (true) {
+    while (columns[_child_slots.size()]->size() < state->batch_size()) {
         RETURN_IF_CANCELLED(state);
         RETURN_IF_ERROR(state->check_query_state("VTableFunctionNode, while getting next batch."));
 
@@ -128,7 +128,7 @@ Status VTableFunctionNode::get_expanded_block(RuntimeState* state, Block* output
             RETURN_IF_ERROR(_process_next_child_row());
         }
 
-        while (true) {
+        while (columns[_child_slots.size()]->size() < state->batch_size()) {
             int idx = _find_last_fn_eos_idx();
             if (idx == 0) {
                 // all table functions' results are exhausted, process next child row.
@@ -177,10 +177,6 @@ Status VTableFunctionNode::get_expanded_block(RuntimeState* state, Block* output
 
             bool tmp = false;
             _fns[_fn_num - 1]->forward(&tmp);
-
-            if (columns[_child_slots.size()]->size() >= state->batch_size()) {
-                break;
-            }
         }
     }
 


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