This is an automated email from the ASF dual-hosted git repository. airborne pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 2495d129f2d [Fix](scanner) lazy update block mem usage when status is not ok (#40953) 2495d129f2d is described below commit 2495d129f2d9b8d239c832d5bc9c29e2efede269 Author: airborne12 <airborn...@gmail.com> AuthorDate: Thu Sep 19 14:16:48 2024 +0800 [Fix](scanner) lazy update block mem usage when status is not ok (#40953) ## Proposed changes fix problem like this: ``` set enable_common_expr_pushdown=false; create table t(a int, c varchar(1024)) PROPERTIES ("replication_allocation" = "tag.location.default: 1"); insert into t values(1, "a b c d e"); SELECT count() FROM t where c MATCH_PHRASE_EDGE 's'; I20240919 09:31:40.713896 2224044 internal_service.cpp:626] Cancel query 3e48a306704f4691-840d239bf31420aa, reason: [INTERNAL_ERROR]PStatus: (127.0.0.1)[INTERNAL_ERROR]Column match_phrase_edge({"c", "String"}) in block is nullptr, in method bytes. All Columns are c String match_phrase_edge({"c", "String"}) 3# doris::vectorized::Block::allocated_bytes() const at be/src/vec/core/block.cpp:446 4# doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>) at be/src/vec/exec/scan/scanner_scheduler.cpp:243 ``` --- be/src/vec/exec/scan/scanner_scheduler.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/be/src/vec/exec/scan/scanner_scheduler.cpp b/be/src/vec/exec/scan/scanner_scheduler.cpp index 444ff4dbb0c..fdd677f0687 100644 --- a/be/src/vec/exec/scan/scanner_scheduler.cpp +++ b/be/src/vec/exec/scan/scanner_scheduler.cpp @@ -278,14 +278,14 @@ void ScannerScheduler::_scanner_scan(std::shared_ptr<ScannerContext> ctx, ctx->update_peak_memory_usage(free_block->allocated_bytes()); ctx->update_peak_memory_usage(-free_block->allocated_bytes()); status = scanner->get_block_after_projects(state, free_block.get(), &eos); - // Projection will truncate useless columns, makes block size change. - auto free_block_bytes = free_block->allocated_bytes(); - ctx->update_peak_memory_usage(free_block_bytes); first_read = false; if (!status.ok()) { LOG(WARNING) << "Scan thread read VScanner failed: " << status.to_string(); break; } + // Projection will truncate useless columns, makes block size change. + auto free_block_bytes = free_block->allocated_bytes(); + ctx->update_peak_memory_usage(free_block_bytes); raw_bytes_read += free_block_bytes; if (!scan_task->cached_blocks.empty() && scan_task->cached_blocks.back().first->rows() + free_block->rows() <= --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org