From 85942ad2cb99b8a0984579d7dba9504f351ffac0 Mon Sep 17 00:00:00 2001 From: Douglas Rumbaugh Date: Mon, 29 May 2023 15:38:44 -0400 Subject: Fixed InternalLevel memory leak --- include/framework/DynamicExtension.h | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'include/framework/DynamicExtension.h') diff --git a/include/framework/DynamicExtension.h b/include/framework/DynamicExtension.h index 422ca10..91d41f8 100644 --- a/include/framework/DynamicExtension.h +++ b/include/framework/DynamicExtension.h @@ -282,8 +282,8 @@ private: return buffer->append(rec, ts); } - std::vector *filter_deletes(std::vector *records, ShardID shid, Buffer *buffer) { - std::vector *processed_records = new std::vector(); + std::vector filter_deletes(std::vector> *records, ShardID shid, Buffer *buffer) { + std::vector processed_records; processed_records->reserve(records->size()); // For delete tagging, we just need to check the delete bit on each @@ -294,7 +294,7 @@ private: continue; } - processed_records->emplace_back(static_cast(rec.rec)); + processed_records.emplace_back(rec.rec); } delete records; @@ -324,7 +324,7 @@ private: } } - processed_records->emplace_back(static_cast(rec.rec)); + processed_records.emplace_back(rec.rec); } delete records; @@ -401,7 +401,7 @@ private: level_index merge_level_idx; size_t incoming_rec_cnt = get_level_record_count(idx, buffer); - for (level_index i=idx+1; i<=m_levels.size(); i++) { + for (level_index i=idx+1; iget_tombstone_count() / (long double) calc_level_record_capacity(idx); if (ts_prop > (long double) m_max_delete_prop) { -- cgit v1.2.3