From b8fd6958381b9139ddb8746aed1df8b41b9a98d4 Mon Sep 17 00:00:00 2001 From: yukun Date: Mon, 25 Oct 2021 20:15:49 +0800 Subject: [PATCH] Fix duplicate delete bug in growing segment (#10570) Signed-off-by: fishpenguin --- internal/core/src/segcore/DeletedRecord.h | 2 +- internal/core/src/segcore/SegmentGrowingImpl.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/core/src/segcore/DeletedRecord.h b/internal/core/src/segcore/DeletedRecord.h index 2c0b260312..97c4edb00e 100644 --- a/internal/core/src/segcore/DeletedRecord.h +++ b/internal/core/src/segcore/DeletedRecord.h @@ -73,7 +73,7 @@ DeletedRecord::TmpBitmap::clone(int64_t capacity) -> std::shared_ptr res->del_barrier = this->del_barrier; res->bitmap_ptr = std::make_shared(capacity); auto u8size = this->bitmap_ptr->size(); - memcpy(res->bitmap_ptr->mutable_data(), res->bitmap_ptr->data(), u8size); + memcpy(res->bitmap_ptr->mutable_data(), this->bitmap_ptr->data(), u8size); return res; } diff --git a/internal/core/src/segcore/SegmentGrowingImpl.cpp b/internal/core/src/segcore/SegmentGrowingImpl.cpp index b4cd63b231..e678547ece 100644 --- a/internal/core/src/segcore/SegmentGrowingImpl.cpp +++ b/internal/core/src/segcore/SegmentGrowingImpl.cpp @@ -50,7 +50,7 @@ SegmentGrowingImpl::get_deleted_bitmap(int64_t del_barrier, bool force) const { auto old = deleted_record_.get_lru_entry(); - if (!force || old->bitmap_ptr->count() == insert_barrier) { + if (old->bitmap_ptr->count() == insert_barrier) { if (old->del_barrier == del_barrier) { return old; }