felixwluo opened a new pull request, #37567:
URL: https://github.com/apache/doris/pull/37567

   … function
   
   ## Proposed changes
   
   1、fix the be coredump caused by a constant in the field function
   2、repetition
   ```
   create database test;
   
   CREATE TABLE `test01` (
     `k1` date NOT NULL,
     `k2` int(11) NULL
   ) ENGINE = OLAP UNIQUE KEY(`k1`) DISTRIBUTED BY HASH(`k1`) BUCKETS 1 
PROPERTIES (
     "replication_allocation" = "tag.location.default: 1",
     "in_memory" = "false",
     "storage_format" = "V2",
     "disable_auto_compaction" = "false"
   );
   
   insert into test01 values ("2024-07-09",59);
   insert into test01 values ("2024-07-08",130);
   insert into test01 values ("2024-07-09",100);
   
   select
       *
   from
       test01
   where
       k1 >= '2024-07-08'
   order by
       field(1, 2, 3);
   ```
   3、be stack
   `(gdb) bt
   #0  0x000055dcfeb45f29 in 
doris::vectorized::FunctionFieldImpl::execute(doris::vectorized::Block&, 
std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned 
long) ()
   #1  0x000055dcfeb47908 in 
doris::vectorized::FunctionMultiSameArgs<doris::vectorized::FunctionFieldImpl>::execute_impl(doris_udf::FunctionContext*,
 doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long> > const&, unsigned long, unsigned long) ()
   #2  0x000055dcfca4030c in 
doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris_udf::FunctionContext*,
 doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long> > const&, unsigned long, unsigned long, bool) ()
   #3  0x000055dcfca40dea in 
doris::vectorized::PreparedFunctionImpl::default_implementation_for_constant_arguments(doris_udf::FunctionContext*,
 doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long> > const&, unsigned long, unsigned long, bool, bool*) ()
   #4  0x000055dcfca40138 in 
doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris_udf::FunctionContext*,
 doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long> > const&, unsigned long, unsigned long, bool) ()
   #5  0x000055dcfca411c9 in 
doris::vectorized::PreparedFunctionImpl::execute(doris_udf::FunctionContext*, 
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long> > const&, unsigned long, unsigned long, bool) ()
   #6  0x000055dcfb13bc94 in 
doris::vectorized::IFunctionBase::execute(doris_udf::FunctionContext*, 
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long> > const&, unsigned long, unsigned long, bool) ()
   #7  0x000055dcfc1adf06 in 
doris::vectorized::VectorizedFnCall::execute(doris::vectorized::VExprContext*, 
doris::vectorized::Block*, int*) ()
   #8  0x000055dcfc1b0477 in 
doris::vectorized::VExprContext::execute(doris::vectorized::Block*, int*) ()
   #9  0x000055dcfb03cf44 in 
doris::vectorized::Sorter::partial_sort(doris::vectorized::Block&, 
doris::vectorized::Block&) ()
   #10 0x000055dcfb03de4a in doris::vectorized::FullSorter::_do_sort() ()
   #11 0x000055dcfb03e9c1 in doris::vectorized::FullSorter::prepare_for_read() 
()
   #12 0x000055dcfb0348a2 in 
doris::vectorized::VSortNode::open(doris::RuntimeState*) ()
   #13 0x000055dcf9dbeb7f in 
doris::PlanFragmentExecutor::open_vectorized_internal() ()
   #14 0x000055dcf9dc023e in doris::PlanFragmentExecutor::open() ()
   #15 0x000055dcf9d989a0 in doris::FragmentExecState::execute() ()
   #16 0x000055dcf9d9bfae in 
doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>) ()
   #17 0x000055dcf9d9c4e2 in std::_Function_handler<void (), 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void 
(doris::PlanFragmentExecutor*)>)::{lambda()#1}>::_M_invoke(std::_Any_data 
const&) ()
   #18 0x000055dcfa04bcb5 in doris::ThreadPool::dispatch_thread() ()
   #19 0x000055dcfa04110f in doris::Thread::supervise_thread(void*) ()
   #20 0x00007f03f1150ea5 in start_thread () from /lib64/libpthread.so.0
   #21 0x00007f03f14639fd in clone () from /lib64/libc.so.6`
   
   <!--Describe your changes.-->
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to