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