milvus/internal/querynode/global_sealed_segment_manager_test.go
bigsheeper 38375ee1d3
Add LoadBalance (#9945)
Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2021-11-06 16:54:59 +08:00

70 lines
2.1 KiB
Go

// Copyright (C) 2019-2020 Zilliz. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software distributed under the License
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
// or implied. See the License for the specific language governing permissions and limitations under the License.
package querynode
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/milvus-io/milvus/internal/proto/querypb"
)
func TestGlobalSealedSegmentManager(t *testing.T) {
manager := newGlobalSealedSegmentManager(defaultCollectionID)
assert.NotNil(t, manager)
segmentInfo := &querypb.SegmentInfo{
SegmentID: defaultSegmentID,
CollectionID: defaultCollectionID,
PartitionID: defaultPartitionID,
}
err := manager.addGlobalSegmentInfo(segmentInfo)
assert.NoError(t, err)
segmentInfo.CollectionID = 1000
err = manager.addGlobalSegmentInfo(segmentInfo)
assert.NoError(t, err)
ids := manager.getGlobalSegmentIDs()
assert.Len(t, ids, 1)
assert.Equal(t, segmentInfo.SegmentID, ids[0])
ids = manager.getGlobalSegmentIDsByPartitionIds([]UniqueID{defaultPartitionID})
assert.Len(t, ids, 1)
assert.Equal(t, segmentInfo.SegmentID, ids[0])
manager.removeGlobalSegmentIDsByPartitionIds([]UniqueID{defaultPartitionID})
ids = manager.getGlobalSegmentIDs()
assert.Len(t, ids, 0)
segmentInfo.CollectionID = defaultCollectionID
err = manager.addGlobalSegmentInfo(segmentInfo)
assert.NoError(t, err)
manager.removeGlobalSegmentInfo(defaultSegmentID)
ids = manager.getGlobalSegmentIDs()
assert.Len(t, ids, 0)
has := manager.hasGlobalSegment(defaultSegmentID)
assert.False(t, has)
segmentInfo.CollectionID = defaultCollectionID
err = manager.addGlobalSegmentInfo(segmentInfo)
assert.NoError(t, err)
manager.close()
ids = manager.getGlobalSegmentIDs()
assert.Len(t, ids, 0)
}