diff --git a/src/sql/engine/px/p2p_datahub/ob_runtime_filter_msg.cpp b/src/sql/engine/px/p2p_datahub/ob_runtime_filter_msg.cpp index c57f59b247..c3eeab42d5 100644 --- a/src/sql/engine/px/p2p_datahub/ob_runtime_filter_msg.cpp +++ b/src/sql/engine/px/p2p_datahub/ob_runtime_filter_msg.cpp @@ -772,10 +772,10 @@ int ObRFBloomFilterMsg::generate_filter_indexes( int64_t start_idx = 0, end_idx = 0; int64_t group_addr_cnt = each_group_size > addr_cnt ? addr_cnt : each_group_size; - BloomFilterIndex filter_index; - ObSEArray tmp_filter_indexes; lib::ObMemAttr attr(tenant_id_, "TmpBFIdxAlloc"); common::ObArenaAllocator tmp_allocator(attr); + BloomFilterIndex filter_index; + ObSEArray tmp_filter_indexes; filter_index.channel_ids_.set_allocator(&tmp_allocator); BloomFilterIndex *filter_index_ptr = nullptr; for (int i = 0; OB_SUCC(ret) && i < count; ++i) { @@ -833,6 +833,7 @@ int ObRFBloomFilterMsg::generate_filter_indexes( } } } + filter_index.channel_ids_.destroy(); return ret; } //end ObRFBloomFilterMsg