From 5cd935729c3e8ee1cc8278fec4a71dbd666de7de Mon Sep 17 00:00:00 2001 From: yukun Date: Wed, 27 Oct 2021 14:34:31 +0800 Subject: [PATCH] Fix bitmap merge in segcore (#10711) Signed-off-by: fishpenguin --- internal/core/src/segcore/SegmentSealedImpl.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/internal/core/src/segcore/SegmentSealedImpl.cpp b/internal/core/src/segcore/SegmentSealedImpl.cpp index ee2a05585d..b99afacbdd 100644 --- a/internal/core/src/segcore/SegmentSealedImpl.cpp +++ b/internal/core/src/segcore/SegmentSealedImpl.cpp @@ -242,12 +242,6 @@ SegmentSealedImpl::get_deleted_bitmap(int64_t del_barrier, bool force) const { auto old = deleted_record_.get_lru_entry(); - if (old->bitmap_ptr->count() == insert_barrier) { - if (old->del_barrier == del_barrier) { - return old; - } - } - auto current = old->clone(insert_barrier); current->del_barrier = del_barrier; auto bitmap = current->bitmap_ptr; @@ -259,6 +253,9 @@ SegmentSealedImpl::get_deleted_bitmap(int64_t del_barrier, std::copy_n(uids_ptr, del_size, ids.data()); auto [uids, seg_offsets] = primary_key_index_->do_search_ids(ids); + for (int i = 0; i < uids.size(); ++i) { + bitmap->set(seg_offsets[i].get()); + } if (del_barrier < old->del_barrier) { for (auto del_index = del_barrier; del_index < old->del_barrier; ++del_index) {