Fix flush deltabuf with segmentID=0 (#23059)

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
pull/23076/head
XuanYang-cn 2023-03-28 19:14:01 +08:00 committed by GitHub
parent ed60b434fa
commit 9691315c21
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 0 deletions

View File

@ -143,6 +143,7 @@ func (bm *DelBufferManager) CompactSegBuf(compactedToSegID UniqueID, compactedFr
compactToDelBuff, loaded := bm.Load(compactedToSegID)
if !loaded {
compactToDelBuff = newDelDataBuf()
compactToDelBuff.item.segmentID = compactedToSegID
}
for _, segID := range compactedFromSegIDs {

View File

@ -187,6 +187,11 @@ func Test_CompactSegBuff(t *testing.T) {
assert.False(t, seg2Exist)
assert.Equal(t, int64(2), delBufferManager.GetEntriesNum(compactedToSegID))
// test item of compactedToSegID is correct
compactTo, ok := delBufferManager.Load(compactedToSegID)
assert.True(t, ok)
assert.Equal(t, compactedToSegID, compactTo.item.segmentID)
//5. test roll and evict (https://github.com/milvus-io/milvus/issues/20501)
delBufferManager.channel.rollDeleteBuffer(compactedToSegID)
_, segCompactedToExist := delBufferManager.Load(compactedToSegID)