stonedb
stonedb copied to clipboard
bug: turn on aggregate parallelism, aggregation overflow.
trafficstars
Have you read the Contributing Guidelines on issues?
- [X] I have read the Contributing Guidelines on issues.
Please confirm if bug report does NOT exists already ?
- [X] I confirm there is no existing issue for this
Describe the problem
tpch 10g data,When the parameter tianmu_groupby_parallel_degree=4, aggregation overflow
mysql> select
-> l_returnflag,
-> l_linestatus,
-> sum(l_quantity) as sum_qty,
-> sum(l_extendedprice) as sum_base_price,
-> sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,
-> sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,
-> avg(l_quantity) as avg_qty,
-> avg(l_extendedprice) as avg_price,
-> avg(l_discount) as avg_disc,
-> count(*) as count_order
-> from
-> lineitem
-> where
-> l_shipdate <= date_sub('1998-12-01', interval 108 day)
-> group by
-> l_returnflag,
-> l_linestatus
-> order by
-> l_returnflag,
-> l_linestatus;
ERROR 1105 (HY000): Aggregation overflow.
2023-04-18 15:42:20.155065] [2045921] [WARN] [exception.cpp:42] MSG: Exception: Aggregation overflow..
STACK TRACE BEGIN
/stonedb57/install//bin/mysqld(+0x8ff0f7) [0x5629757fa0f7]
/stonedb57/install//bin/mysqld(Tianmu::core::GroupTable::PutAggregatedValue(int, long, Tianmu::core::MIIterator&, long, bool)+0x165) [0x5629766275f5]
/stonedb57/install//bin/mysqld(Tianmu::core::AggregationAlgorithm::AggregatePackrow(Tianmu::core::GroupByWrapper&, Tianmu::core::MIIterator*, long, unsigned long*)+0x5d9) [0x56297661b819]
/stonedb57/install//bin/mysqld(Tianmu::core::AggregationWorkerEnt::TaskAggrePacks(Tianmu::core::MIIterator*, Tianmu::core::DimensionVector*, Tianmu::core::MIIterator*, Tianmu::core::CTask*, Tianmu::core::GroupByWrapper*, Tianmu::core::Transaction*, unsigned long*)+0x132) [0x56297661e212]
/stonedb57/install//bin/mysqld(std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<std::_Bind<void (Tianmu::core::AggregationWorkerEnt::*(Tianmu::core::AggregationWorkerEnt*, Tianmu::core::MIIterator*, Tianmu::core::DimensionVector*, Tianmu::core::MIIterator*, Tianmu::core::CTask*, Tianmu::core::GroupByWrapper*, Tianmu::core::Transaction*, unsigned long*))(Tianmu::core::MIIterator*, Tianmu::core::DimensionVector*, Tianmu::core::MIIterator*, Tianmu::core::CTask*, Tianmu::core::GroupByWrapper*, Tianmu::core::Transaction*, unsigned long*)>, std::allocator<int>, void ()>::_M_run()::{lambda()#1}, void> >::_M_invoke(std::_Any_data const&)+0x66) [0x562976618e56]
/stonedb57/install//bin/mysqld(std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*)+0x32) [0x56297645fea2]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x114df) [0x7ff7d87ac4df]
/stonedb57/install//bin/mysqld(std::__future_base::_Task_state<std::_Bind<void (Tianmu::core::AggregationWorkerEnt::*(Tianmu::core::AggregationWorkerEnt*, Tianmu::core::MIIterator*, Tianmu::core::DimensionVector*, Tianmu::core::MIIterator*, Tianmu::core::CTask*, Tianmu::core::GroupByWrapper*, Tianmu::core::Transaction*, unsigned long*))(Tianmu::core::MIIterator*, Tianmu::core::DimensionVector*, Tianmu::core::MIIterator*, Tianmu::core::CTask*, Tianmu::core::GroupByWrapper*, Tianmu::core::Transaction*, unsigned long*)>, std::allocator<int>, void ()>::_M_run()+0x115) [0x562976619e65]
/stonedb57/install//bin/mysqld(Tianmu::utils::thread_pool::thread_pool(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long)::{lambda()#1}::operator()() const+0x3ac) [0x56297646301c]
/stonedb57/install//bin/mysqld(+0x1959f14) [0x562976854f14]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7ff7d87a3609]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7ff7d8577133]
STACK TRACE END
Expected behavior
No response
How To Reproduce
No response
Environment
root@ub01:/stonedb57/install/bin# ./mysqld --version
./mysqld Ver 5.7.36-StoneDB-v1.0.3 for Linux on x86_64 (build-)
build information as follow:
Repository address: https://github.com/stoneatom/stonedb.git:stonedb-5.7-dev
Branch name: stonedb-5.7-dev
Last commit ID: 99c5e80fb
Last commit time: Date: Wed Apr 12 00:34:41 2023 +0800
Build time: Date: Tue Apr 18 00:43:18 CST 2023
Are you interested in submitting a PR to solve the problem?
- [ ] Yes, I will!