This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 4bc33a54a1 [Fix](agg) fix bitmap agg core dump when phmap pointer assert alignment (#13381) 4bc33a54a1 is described below commit 4bc33a54a1d3485b07c5b13fcd18d27763b1194c Author: zhangstar333 <87313068+zhangstar...@users.noreply.github.com> AuthorDate: Sat Oct 15 10:39:23 2022 +0800 [Fix](agg) fix bitmap agg core dump when phmap pointer assert alignment (#13381) --- be/src/vec/exec/vaggregation_node.cpp | 9 ++++++++- be/src/vec/exec/vaggregation_node.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/be/src/vec/exec/vaggregation_node.cpp b/be/src/vec/exec/vaggregation_node.cpp index 9469242271..4f53e2633e 100644 --- a/be/src/vec/exec/vaggregation_node.cpp +++ b/be/src/vec/exec/vaggregation_node.cpp @@ -459,6 +459,7 @@ Status AggregationNode::open(RuntimeState* state) { // this could cause unable to get JVM if (_probe_expr_ctxs.empty()) { _create_agg_status(_agg_data.without_key); + _agg_data_created_without_key = true; } bool eos = false; Block block; @@ -707,7 +708,13 @@ void AggregationNode::_update_memusage_without_key() { } void AggregationNode::_close_without_key() { - _destroy_agg_status(_agg_data.without_key); + //because prepare maybe failed, and couldn't create agg data. + //but finally call close to destory agg data, if agg data has bitmapValue + //will be core dump, it's not initialized + if (_agg_data_created_without_key) { + _destroy_agg_status(_agg_data.without_key); + _agg_data_created_without_key = false; + } release_tracker(); } diff --git a/be/src/vec/exec/vaggregation_node.h b/be/src/vec/exec/vaggregation_node.h index 7b41b570c3..8223ae4232 100644 --- a/be/src/vec/exec/vaggregation_node.h +++ b/be/src/vec/exec/vaggregation_node.h @@ -806,6 +806,7 @@ private: bool _should_limit_output = false; bool _reach_limit = false; + bool _agg_data_created_without_key = false; PODArray<AggregateDataPtr> _places; std::vector<char> _deserialize_buffer; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org