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

   ## Proposed changes
   
   Issue Number: close #xxx
   
   Test case:
   ```
    CREATE TABLE `multi_distinct_agg_tab` (
           `k1` bigint(20) NULL,
           `k2` varchar(20) NULL,
           `d1` DECIMAL(18, 0) NULL,
           `d2` DECIMAL(38, 0) NULL
       ) ENGINE = OLAP DUPLICATE KEY(`k1`) DISTRIBUTED BY HASH(`k1`) BUCKETS 2 
PROPERTIES (
       "replication_allocation" = "tag.location.default: 1"
       );
   
   INSERT INTO
           `multi_distinct_agg_tab` (`k1`, `k2`, `d1`, `d2`)
       VALUES (1, 'aaa', 123, 356),(2, 'bbb', 123, 789), (3, 'ccc', 246, 789);
   
    select
               count(distinct d1),
               count(distinct d2)
           from
               multi_distinct_agg_tab;
   
   ```
   
   Coredump:
   ```
   17:02:20   F20231114 16:55:35.946138 156798 assert_cast.h:57] Bad cast from 
type:doris::vectorized::ColumnDecimal<doris::vectorized::Decimal128I> to 
doris::vectorized::ColumnDecimal<doris::vectorized::Decimal<__int128> >
   17:02:20   *** Check failure stack trace: ***
   17:02:20       @     0x5627046b3216  
google::LogMessageFatal::~LogMessageFatal()
   17:02:20       @     0x5626da741024  assert_cast<>()
   17:02:20       @     0x5626e7c242a4  
doris::vectorized::AggregateFunctionUniq<>::add_batch_single_place()
   17:02:20       @     0x5626e7c2c030  
doris::vectorized::AggregateFunctionNullUnaryInline<>::add_batch_single_place()
   17:02:20       @     0x5626f14e13c8  
doris::vectorized::AggFnEvaluator::execute_single_add()
   17:02:20       @     0x562703dde5b7  
doris::pipeline::AggSinkLocalState<>::_execute_without_key()
   17:02:20       @     0x5627041df937  std::_Function_handler<>::_M_invoke()
   17:02:20       @     0x562703dcdb00  
doris::pipeline::AggSinkOperatorX<>::sink()
   17:02:20       @     0x562704676257  
doris::pipeline::PipelineXTask::execute()
   17:02:20       @     0x5627046931e2  
doris::pipeline::TaskScheduler::_do_work()
   17:02:20       @     0x5626dae3276d  doris::ThreadPool::dispatch_thread()
   17:02:20       @     0x5626dae0e7e9  doris::Thread::supervise_thread()
   17:02:20       @     0x7fa1d23ef609  start_thread
   17:02:20       @     0x7fa1d269c133  clone
   17:02:20       @              (nil)  (unknown)
   17:02:20   *** Query id: 28287cc913164182-928abacb26a33665 ***
   17:02:20   *** tablet id: 0 ***
   17:02:20   *** Aborted at 1699952136 (unix time) try "date -d @1699952136" 
if you are using GNU date ***
   17:02:20   *** Current BE git commitID: 3ce53c8 ***
   17:02:20   *** SIGABRT unknown detail explain (@0x26349) received by PID 
156489 (TID 156798 OR 0x7f9fee91a700) from PID 156489; stack trace: ***
   17:02:20    0# doris::signal::(anonymous 
namespace)::FailureSignalHandler(int, siginfo_t*, void*) at 
/root/doris/be/src/common/signal_handler.h:417
   17:02:20    1# 0x00007FA1D25C0090 in /lib/x86_64-linux-gnu/libc.so.6
   17:02:20    2# raise at ../sysdeps/unix/sysv/linux/raise.c:51
   17:02:20    3# abort at /build/glibc-SzIz7B/glibc-2.31/stdlib/abort.c:81
   17:02:20    4# 0x00005627046BA11D in 
/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be
   17:02:20    5# google::LogMessage::SendToLog() in 
/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be
   17:02:20    6# google::LogMessage::Flush() in 
/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be
   17:02:20    7# google::LogMessageFatal::~LogMessageFatal() in 
/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be
   17:02:20    8# 0x00005626DA741024 in 
/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be
   17:02:20    9# 
doris::vectorized::AggregateFunctionUniq<doris::vectorized::Decimal<__int128>, 
doris::vectorized::AggregateFunctionUniqExactData<__int128> 
>::add_batch_single_place(unsigned long, char*, doris::vectorized::IColumn 
const**, doris::vectorized::Arena*) const at 
/root/doris/be/src/vec/aggregate_functions/aggregate_function_uniq.h:176
   17:02:20   10# 
doris::vectorized::AggregateFunctionNullUnaryInline<doris::vectorized::AggregateFunctionUniq<doris::vectorized::Decimal<__int128>,
 doris::vectorized::AggregateFunctionUniqExactData<__int128> >, 
false>::add_batch_single_place(unsigned long, char*, doris::vectorized::IColumn 
const**, doris::vectorized::Arena*) const in 
/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be
   17:02:20   11# 
doris::vectorized::AggFnEvaluator::execute_single_add(doris::vectorized::Block*,
 char*, doris::vectorized::Arena*) in 
/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be
   17:02:20   12# 
doris::pipeline::AggSinkLocalState<doris::pipeline::AggDependency, 
doris::pipeline::BlockingAggSinkLocalState>::_execute_without_key(doris::vectorized::Block*)
 in /mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be
   17:02:20   13# std::_Function_handler<doris::Status 
(doris::vectorized::Block*), std::_Bind_result<doris::Status, doris::Status 
(doris::pipeline::AggSinkLocalState<doris::pipeline::AggDependency, 
doris::pipeline::BlockingAggSinkLocalState>::*(doris::pipeline::AggSinkLocalState<doris::pipeline::AggDependency,
 doris::pipeline::BlockingAggSinkLocalState>*, 
std::_Placeholder<1>))(doris::vectorized::Block*)> >::_M_invoke(std::_Any_data 
const&, doris::vectorized::Block*&&) at 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
   17:02:20   14# 
doris::pipeline::AggSinkOperatorX<doris::pipeline::BlockingAggSinkLocalState>::sink(doris::RuntimeState*,
 doris::vectorized::Block*, doris::pipeline::SourceState) at 
/root/doris/be/src/pipeline/exec/aggregation_sink_operator.cpp:791
   17:02:20   15# doris::pipeline::PipelineXTask::execute(bool*) at 
/root/doris/be/src/pipeline/pipeline_x/pipeline_x_task.cpp:261
   17:02:20   16# doris::pipeline::TaskScheduler::_do_work(unsigned long) at 
/root/doris/be/src/pipeline/task_scheduler.cpp:262
   ```
   
   ## Further comments
   
   If this is a relatively large or complex change, kick off the discussion at 
[d...@doris.apache.org](mailto:d...@doris.apache.org) by explaining why you 
chose the solution you did and what alternatives you considered, etc...
   
   


-- 
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