diff --git a/be/src/exec/hash_table.cpp b/be/src/exec/hash_table.cpp index e0fbd8dd7b..820e15fba2 100644 --- a/be/src/exec/hash_table.cpp +++ b/be/src/exec/hash_table.cpp @@ -182,7 +182,7 @@ Status HashTable::resize_buckets(int64_t num_buckets) { } _mem_tracker->consume(delta_bytes); - _buckets.resize(num_buckets); + _buckets.resize(std::max(num_buckets, _num_buckets)); // If we're doubling the number of buckets, all nodes in a particular bucket // either remain there, or move down to an analogous bucket in the other half. @@ -222,6 +222,7 @@ Status HashTable::resize_buckets(int64_t num_buckets) { } } + _buckets.resize(num_buckets); _num_buckets = num_buckets; _num_buckets_till_resize = MAX_BUCKET_OCCUPANCY_FRACTION * _num_buckets; return Status::OK(); diff --git a/be/src/exprs/expr.cpp b/be/src/exprs/expr.cpp index 22684e60aa..c618f1bf29 100644 --- a/be/src/exprs/expr.cpp +++ b/be/src/exprs/expr.cpp @@ -472,8 +472,8 @@ int Expr::compute_results_layout(const std::vector& exprs, std::vectorresize(exprs.size()); offsets->clear(); + offsets->resize(exprs.size()); *var_result_begin = -1; for (int i = 0; i < data.size(); ++i) { diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index 8a0232979e..a4ca422e69 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -165,8 +165,8 @@ Status SegmentIterator::init(const StorageReadOptions& opts) { if (!opts.column_predicates.empty()) { _col_predicates = opts.column_predicates; } - // Read options will not change, so that just reserve here - _block_rowids.reserve(_opts.block_row_max); + // Read options will not change, so that just resize here + _block_rowids.resize(_opts.block_row_max); return Status::OK(); } @@ -1144,7 +1144,7 @@ Status SegmentIterator::next_batch(vectorized::Block* block) { selected_size = _evaluate_short_circuit_predicate(sel_rowid_idx, selected_size); if (UNLIKELY(_opts.record_rowids)) { - _sel_rowid_idx.reserve(selected_size); + _sel_rowid_idx.resize(selected_size); _selected_size = selected_size; for (auto i = 0; i < _selected_size; i++) { _sel_rowid_idx[i] = sel_rowid_idx[i]; diff --git a/be/src/runtime/thread_context.h b/be/src/runtime/thread_context.h index bc422e5268..32962315ac 100644 --- a/be/src/runtime/thread_context.h +++ b/be/src/runtime/thread_context.h @@ -386,7 +386,6 @@ private: #define TRY_CONSUME_MEM_TRACKER(size) (void)0 #define RELEASE_MEM_TRACKER(size) (void)0 #define TRY_RELEASE_MEM_TRACKER(size) (void)0 -#define RETURN_IF_CATCH_BAD_ALLOC(stmt) \ - { stmt; } +#define RETURN_IF_CATCH_BAD_ALLOC(stmt) (stmt) #endif } // namespace doris diff --git a/be/src/util/frame_of_reference_coding.cpp b/be/src/util/frame_of_reference_coding.cpp index f2104d1ebc..5ab334b3c3 100644 --- a/be/src/util/frame_of_reference_coding.cpp +++ b/be/src/util/frame_of_reference_coding.cpp @@ -259,7 +259,7 @@ bool ForDecoder::init() { } } - _out_buffer.reserve(_max_frame_size); + _out_buffer.resize(_max_frame_size); _parsed = true; return true;