mirror of https://github.com/milvus-io/milvus.git
Replace LoadWithPrefix with HasPrefix (#25471)
Signed-off-by: sunby <bingyi.sun@zilliz.com> Co-authored-by: sunby <bingyi.sun@zilliz.com>pull/25415/head
parent
bcd3abf644
commit
70c4ddc6c5
|
@ -346,7 +346,7 @@ func TestCompactionPlanHandler_handleMergeCompactionResult(t *testing.T) {
|
|||
metakv := mockkv.NewMetaKv(t)
|
||||
metakv.EXPECT().Save(mock.Anything, mock.Anything).Return(errors.New("failed")).Maybe()
|
||||
metakv.EXPECT().MultiSave(mock.Anything).Return(errors.New("failed")).Maybe()
|
||||
metakv.EXPECT().LoadWithPrefix(mock.Anything).Return(nil, nil, nil).Maybe()
|
||||
metakv.EXPECT().HasPrefix(mock.Anything).Return(false, nil).Maybe()
|
||||
errMeta := &meta{
|
||||
catalog: &datacoord.Catalog{MetaKv: metakv},
|
||||
segments: &SegmentsInfo{
|
||||
|
|
|
@ -355,26 +355,26 @@ func (kc *Catalog) collectMetrics(s *datapb.SegmentInfo) {
|
|||
}
|
||||
|
||||
func (kc *Catalog) hasBinlogPrefix(segment *datapb.SegmentInfo) (bool, error) {
|
||||
binlogsKey, _, err := kc.getBinlogsWithPrefix(storage.InsertBinlog, segment.CollectionID, segment.PartitionID, segment.ID)
|
||||
collectionID, partitionID, segmentID := segment.GetCollectionID(), segment.GetPartitionID(), segment.GetID()
|
||||
prefix := buildFieldBinlogPathPrefix(collectionID, partitionID, segmentID)
|
||||
hasBinlogPrefix, err := kc.MetaKv.HasPrefix(prefix)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
deltalogsKey, _, err := kc.getBinlogsWithPrefix(storage.DeleteBinlog, segment.CollectionID, segment.PartitionID, segment.ID)
|
||||
prefix = buildFieldDeltalogPathPrefix(collectionID, partitionID, segmentID)
|
||||
hasDeltaPrefix, err := kc.MetaKv.HasPrefix(prefix)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
statslogsKey, _, err := kc.getBinlogsWithPrefix(storage.StatsBinlog, segment.CollectionID, segment.PartitionID, segment.ID)
|
||||
prefix = buildFieldStatslogPathPrefix(collectionID, partitionID, segmentID)
|
||||
hasStatsPrefix, err := kc.MetaKv.HasPrefix(prefix)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
if len(binlogsKey) == 0 && len(deltalogsKey) == 0 && len(statslogsKey) == 0 {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
return true, nil
|
||||
return hasBinlogPrefix || hasDeltaPrefix || hasStatsPrefix, nil
|
||||
}
|
||||
|
||||
func (kc *Catalog) AlterSegmentsAndAddNewSegment(ctx context.Context, segments []*datapb.SegmentInfo, newSegment *datapb.SegmentInfo) error {
|
||||
|
|
|
@ -452,7 +452,7 @@ func Test_AlterSegmentsAndAddNewSegment(t *testing.T) {
|
|||
|
||||
t.Run("get prefix fail", func(t *testing.T) {
|
||||
metakv := mocks.NewMetaKv(t)
|
||||
metakv.EXPECT().LoadWithPrefix(mock.Anything).Return(nil, nil, errors.New("error"))
|
||||
metakv.EXPECT().HasPrefix(mock.Anything).Return(false, errors.New("error"))
|
||||
|
||||
catalog := NewCatalog(metakv, rootPath, "")
|
||||
err := catalog.AlterSegmentsAndAddNewSegment(context.TODO(), []*datapb.SegmentInfo{droppedSegment}, nil)
|
||||
|
@ -466,13 +466,13 @@ func Test_AlterSegmentsAndAddNewSegment(t *testing.T) {
|
|||
maps.Copy(savedKvs, m)
|
||||
return nil
|
||||
})
|
||||
metakv.EXPECT().LoadWithPrefix(mock.Anything).Return([]string{}, []string{}, nil)
|
||||
metakv.EXPECT().Load(mock.Anything).RunAndReturn(func(s string) (string, error) {
|
||||
if v, ok := savedKvs[s]; ok {
|
||||
return v, nil
|
||||
}
|
||||
return "", errors.New("key not found")
|
||||
})
|
||||
metakv.EXPECT().HasPrefix(mock.Anything).Return(false, nil)
|
||||
|
||||
catalog := NewCatalog(metakv, rootPath, "")
|
||||
err := catalog.AlterSegmentsAndAddNewSegment(context.TODO(), []*datapb.SegmentInfo{droppedSegment}, segment1)
|
||||
|
|
Loading…
Reference in New Issue