apache / doris

Apache Doris is an easy-to-use, high performance and unified analytics database.
https://doris.apache.org
Apache License 2.0
12.31k stars 3.21k forks source link

[Bug] [noavx2]UDF ERROR: hs_compile regex pattern error #32434

Open cjj2010 opened 6 months ago

cjj2010 commented 6 months ago

Search before asking

Version

2.0.5

What's Wrong?

W0319 10:09:36.033246 91066 status.h:395] meet error status: [INTERNAL_ERROR]UDF ERROR: hs_compile regex pattern error

    0#  doris::RuntimeState::set_process_status(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:356
    1#  doris::FunctionContext::set_error(char const*) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:187
    2#  doris::vectorized::FunctionLikeBase::hs_prepare(doris::FunctionContext*, char const*, hs_database**, hs_scratch**) at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/like.cpp:303
    3#  doris::vectorized::FunctionRegexp::open(doris::FunctionContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    4#  doris::vectorized::DefaultFunction::open(doris::FunctionContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function.h:573
    5#  doris::vectorized::VExpr::init_function_context(doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope, std::shared_ptr<doris::vectorized::IFunctionBase> const&) const at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    6#  doris::vectorized::VectorizedFnCall::open(doris::RuntimeState*, doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    7#  doris::vectorized::VExpr::open(doris::RuntimeState*, doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    8#  doris::vectorized::VectorizedFnCall::open(doris::RuntimeState*, doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    9#  doris::vectorized::VExpr::open(doris::RuntimeState*, doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    10# doris::vectorized::VCastExpr::open(doris::RuntimeState*, doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    11# doris::vectorized::VExprContext::open(doris::RuntimeState*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:356
    12# doris::vectorized::VExpr::open(std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > const&, doris::RuntimeState*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    13# doris::ExecNode::alloc_resource(doris::RuntimeState*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    14# doris::vectorized::VScanNode::alloc_resource(doris::RuntimeState*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    15# doris::pipeline::StreamingOperator<doris::pipeline::ScanOperatorBuilder>::open(doris::RuntimeState*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    16# doris::pipeline::PipelineTask::_open() at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    17# doris::pipeline::PipelineTask::execute(bool*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:356
    18# doris::pipeline::TaskScheduler::_do_work(unsigned long) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:356
    19# doris::ThreadPool::dispatch_thread() at /home/zcp/repo_center/doris_release/doris/be/src/util/threadpool.cpp:0
    20# doris::Thread::supervise_thread(void*) at /var/local/ldb_toolchain/bin/../usr/include/pthread.h:562
    21# start_thread
    22# __clone
W0319 10:09:36.033361 91067 status.h:395] meet error status: [INTERNAL_ERROR]UDF ERROR: hs_compile regex pattern error

    0#  doris::RuntimeState::set_process_status(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:356
    1#  doris::FunctionContext::set_error(char const*) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:187
    2#  doris::vectorized::FunctionLikeBase::hs_prepare(doris::FunctionContext*, char const*, hs_database**, hs_scratch**) at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/like.cpp:303
    3#  doris::vectorized::FunctionRegexp::open(doris::FunctionContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    4#  doris::vectorized::DefaultFunction::open(doris::FunctionContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function.h:573
    5#  doris::vectorized::VExpr::init_function_context(doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope, std::shared_ptr<doris::vectorized::IFunctionBase> const&) const at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    6#  doris::vectorized::VectorizedFnCall::open(doris::RuntimeState*, doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    7#  doris::vectorized::VExpr::open(doris::RuntimeState*, doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    8#  doris::vectorized::VectorizedFnCall::open(doris::RuntimeState*, doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    9#  doris::vectorized::VExpr::open(doris::RuntimeState*, doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    10# doris::vectorized::VCastExpr::open(doris::RuntimeState*, doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    11# doris::vectorized::VExprContext::open(doris::RuntimeState*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:356
    12# doris::vectorized::VExpr::open(std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > const&, doris::RuntimeState*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    13# doris::ExecNode::alloc_resource(doris::RuntimeState*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    14# doris::vectorized::VScanNode::alloc_resource(doris::RuntimeState*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    15# doris::pipeline::StreamingOperator<doris::pipeline::ScanOperatorBuilder>::open(doris::RuntimeState*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    16# doris::pipeline::PipelineTask::_open() at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:445
    17# doris::pipeline::PipelineTask::execute(bool*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:356
    18# doris::pipeline::TaskScheduler::_do_work(unsigned long) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:356
    19# doris::ThreadPool::dispatch_thread() at /home/zcp/repo_center/doris_release/doris/be/src/util/threadpool.cpp:0
    20# doris::Thread::supervise_thread(void*) at /var/local/ldb_toolchain/bin/../usr/include/pthread.h:562
    21# start_thread
    22# __clone

What You Expected?

Normal execution

How to Reproduce?

one step create table

CREATE TABLE `ods_e2fd3ddb4fe186ea2280f34be0d19216` (
  `8BA25355ID_06` varchar(*) NULL,
  `8BA2535565E5671F_06a28` varchar(*) NULL,
  `53D18D2765E5671F_06a28` varchar(*) NULL,
  `90AE5BC465B95F0F_06a28` varchar(*) NULL,
  `56FD5BB6_06` varchar(*) NULL,
  `5730533A_06` varchar(*) NULL,
  `770181EA6CBB533A_06a28` varchar(*) NULL,
  `7EC65206_06` varchar(*) NULL,
  `5BA26237540D79F0_06a28` varchar(*) NULL,
  `7C7B522B_06` varchar(*) NULL,
  `5B507C7B522B_06a2` varchar(*) NULL,
  `523690205546_06a2` varchar(*) NULL,
  `4EA754C1540D79F0_06a28` varchar(*) NULL,
  `657091CF_06` DECIMAL(38, 10) NULL,
  `9500552E989D_06a2` DECIMAL(38, 10) NULL,
  `52296DA6_06` DECIMAL(38, 10) NULL
) ENGINE=OLAP
DUPLICATE KEY(`8BA25355ID_06`)
COMMENT 'OLAP'
DISTRIBUTED BY RANDOM BUCKETS AUTO
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
"is_being_synced" = "false",
"storage_format" = "V2",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
"enable_single_replica_compaction" = "false"
);

two step

select * from (SELECT `fise01`.`8BA25355ID_06`  AS `8BA25355ID_06`,CAST(CASE WHEN `fise01`.`8BA2535565E5671F_06a28` REGEXP '^-?\\d+(\\.\\d+)?$' THEN `fise01`.`8BA2535565E5671F_06a28` ELSE null END AS DECIMAL)  AS `8BA2535565E5671F_06a28`,`fise01`.`53D18D2765E5671F_06a28`  AS `53D18D2765E5671F_06a28`,`fise01`.`90AE5BC465B95F0F_06a28`  AS `90AE5BC465B95F0F_06a28`,`fise01`.`56FD5BB6_06`  AS `56FD5BB6_06`,`fise01`.`5730533A_06`  AS `5730533A_06`,`fise01`.`770181EA6CBB533A_06a28`  AS `770181EA6CBB533A_06a28`,`fise01`.`7EC65206_06`  AS `7EC65206_06`,`fise01`.`5BA26237540D79F0_06a28`  AS `5BA26237540D79F0_06a28`,`fise01`.`7C7B522B_06`  AS `7C7B522B_06`,`fise01`.`5B507C7B522B_06a2`  AS `5B507C7B522B_06a2`,`fise01`.`523690205546_06a2`  AS `523690205546_06a2`,`fise01`.`4EA754C1540D79F0_06a28`  AS `4EA754C1540D79F0_06a28`,`fise01`.`657091CF_06`  AS `657091CF_06`,`fise01`.`9500552E989D_06a2`  AS `9500552E989D_06a2`,`fise01`.`52296DA6_06`  AS `52296DA6_06` FROM (SELECT `t0`.`8BA25355ID_06`,`t0`.`8BA2535565E5671F_06a28`,`t0`.`53D18D2765E5671F_06a28`,`t0`.`90AE5BC465B95F0F_06a28`,`t0`.`56FD5BB6_06`,`t0`.`5730533A_06`,`t0`.`770181EA6CBB533A_06a28`,`t0`.`7EC65206_06`,`t0`.`5BA26237540D79F0_06a28`,`t0`.`7C7B522B_06`,`t0`.`5B507C7B522B_06a2`,`t0`.`523690205546_06a2`,`t0`.`4EA754C1540D79F0_06a28`,
`t0`.`657091CF_06`,`t0`.`9500552E989D_06a2`,`t0`.`52296DA6_06` FROM `ods_e2fd3ddb4fe186ea2280f34be0d19216` `t0`) `fise01` ) view order by 1 limit 0, 50;

Anything Else?

No response

Are you willing to submit PR?

Code of Conduct

cjj2010 commented 6 months ago

be log be-info.txt