doris2.1.9 stream load时be必现crash

Viewed 36

code:

HttpPut request = new HttpPut("http://<fe_ip>:<fe_http_port>/api/test_db/test_table/_stream_load");

// Create an InputStreamEntity to stream data
HttpEntity entity = new InputStreamEntity(new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8)));

request.setEntity(entity);

// Optional: Set headers (e.g., content-type)
request.setHeader(BasicScheme.authenticate(creds, Consts.ASCII.toString(), false));
request.setHeader("Expect", "100-continue");
request.setHeader("format", "json");
request.setHeader("strip_outer_array", "true");
// request.setHeader("read_json_by_line", "true");
request.setHeader("strict_mode", "true");
request.setHeader("group_mode", "sync_mode");
request.setHeader("columns", "arr=ARRAY_MAP(x -> NULLIF(x, '$'), SPLIT_BY_STRING(ARRAY_JOIN(ARRAY_MAP(x -> IFNULL(x, '$'), arr), '|'),'|'))");

// Execute the request
try (CloseableHttpResponse response = httpClient.execute(request)) {
    System.out.println("Response status: " + response.getStatusLine());

    // Get the response entity (body)
    entity = response.getEntity();
    if (entity != null) {
        // Convert response entity to a String
        String responseBody = EntityUtils.toString(entity);
        System.out.println("Response Body: " + responseBody);
    }
}

be.WARNING相关日志

1564635         0#  doris::vectorized::NewOlapScanner::open(doris::RuntimeState*) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c        ++/11/bits/basic_string.h:187
1564636         1#  doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask        >) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:380
1564637         2#  std::_Function_handler<void (), doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<do        ris::vectorized::ScanTask>)::$_1::operator()() const::{lambda()#1}>::_M_invoke(std::_Any_data const&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-        gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:701
1564638         3#  doris::ThreadPool::dispatch_thread() at /home/zcp/repo_center/doris_release/doris/be/src/util/threadpool.cpp:0
1564639         4#  doris::Thread::supervise_thread(void*) at /var/local/ldb-toolchain/bin/../usr/include/pthread.h:562
1564640         5#  ?
1564641         6#  __clone
1564642 W20250416 14:48:33.525696 609841 stream_load_executor.cpp:105] fragment execute failed, err_msg=[DATA_QUALITY_ERROR]too many filtered rows, id=3c4b1f5e83f463f        4-1ca64c76b0d6b3a6, job_id=-1, txn_id=1047084, label=bcd3a679-04e9-4dc8-a650-3e87ea3fc4cf, elapse(s)=0
1564643 W20250416 14:48:33.525728 609632 stream_load.cpp:110] handle streaming load failed, id=3c4b1f5e83f463f4-1ca64c76b0d6b3a6, errmsg=[DATA_QUALITY_ERROR]too many         filtered rows

be.out相关日志

*** Query id: 3346c24298428002-5ee256a8473e098e ***
*** is nereids: 1 ***
*** tablet id: 0 ***
*** Aborted at 1744791055 (unix time) try "date -d @1744791055" if you are using GNU date ***
*** Current BE git commitID: 3390475e02 ***
*** SIGSEGV address not mapped to object (@0x36000000ad) received by PID 607656 (TID 609904 OR 0x7f31d3abb640) from PID 173; stack trace: ***
 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_release/doris/be/src/common/signal_handler.h:421
 1# os::Linux::chained_handler(int, siginfo*, void*) in /opt/openjdk-8u352-b08/jdk8u352-b08/jre/lib/amd64/server/libjvm.so
 2# JVM_handle_linux_signal in /opt/openjdk-8u352-b08/jdk8u352-b08/jre/lib/amd64/server/libjvm.so
 3# signalHandler(int, siginfo*, void*) in /opt/openjdk-8u352-b08/jdk8u352-b08/jre/lib/amd64/server/libjvm.so
 4# 0x00007F363A105090 in /lib64/libc.so.6
 5# doris::vectorized::ArrayMapFunction::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*, std::shared_ptr<doris::vectorized::IDataType const> const&, std::vector<std::shared_ptr<doris::vectorized::VExpr>, std::allocator<std::shared_ptr<doris::vectorized::VExpr> > > const&) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/lambda_function/varray_map_function.cpp:165
 6# doris::vectorized::VLambdaFunctionCallExpr::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vlambda_function_call_expr.h:68
 7# doris::vectorized::VectorizedFnCall::_do_execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*, std::vector<unsigned long, std::allocator<unsigned long> >&) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vectorized_fn_call.cpp:173
 8# doris::vectorized::VectorizedFnCall::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vectorized_fn_call.cpp:198
 9# doris::vectorized::VectorizedFnCall::_do_execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*, std::vector<unsigned long, std::allocator<unsigned long> >&) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vectorized_fn_call.cpp:173
10# doris::vectorized::VectorizedFnCall::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vectorized_fn_call.cpp:198
11# doris::vectorized::ArrayMapFunction::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*, std::shared_ptr<doris::vectorized::IDataType const> const&, std::vector<std::shared_ptr<doris::vectorized::VExpr>, std::allocator<std::shared_ptr<doris::vectorized::VExpr> > > const&) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/lambda_function/varray_map_function.cpp:120
12# doris::vectorized::VLambdaFunctionCallExpr::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vlambda_function_call_expr.h:68
13# doris::vectorized::VExprContext::execute(doris::vectorized::Block*, int*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vexpr_context.cpp:54
14# doris::vectorized::VFileScanner::_convert_to_output_block(doris::vectorized::Block*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/vfile_scanner.cpp:616
15# doris::vectorized::VFileScanner::_get_block_wrapped(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/vfile_scanner.cpp:385
16# doris::vectorized::VFileScanner::_get_block_impl(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/vfile_scanner.cpp:307
17# doris::vectorized::VScanner::get_block(doris::RuntimeState*, doris::vectorized::Block*, bool*) in /opt/apache-doris-2.1.9-bin-x64/be/lib/doris_be
18# doris::vectorized::VScanner::get_block_after_projects(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/vscanner.cpp:102
19# doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:280
20# std::_Function_handler<void (), doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_1::operator()() const::{lambda()#1}>::_M_invoke(std::_Any_data const&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
21# doris::ThreadPool::dispatch_thread() in /opt/apache-doris-2.1.9-bin-x64/be/lib/doris_be
22# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_release/doris/be/src/util/thread.cpp:499
23# start_thread in /lib64/libpthread.so.0
24# __clone in /lib64/libc.so.6
2 Answers

看着是跟数据的内容有关系,可以提供一下你这个json 文件吗?

你好方便加微信聊莫 wechat: amorynan