Add historical failed unittest for querynode (#7941)

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
pull/7976/head
bigsheeper 2021-09-15 15:25:49 +08:00 committed by GitHub
parent 55c47ab508
commit 18431c1549
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 99 additions and 0 deletions

View File

@ -12,6 +12,7 @@
package querynode
import (
"context"
"strconv"
"testing"
"time"
@ -87,3 +88,101 @@ func TestHistorical_GlobalSealedSegments(t *testing.T) {
time.Sleep(100 * time.Millisecond) // for etcd latency
emptySegmentCheck()
}
func TestHistorical_Search(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
t.Run("test search", func(t *testing.T) {
his, err := genSimpleHistorical(ctx)
assert.NoError(t, err)
plan, searchReqs, err := genSimpleSearchPlanAndRequests()
assert.NoError(t, err)
_, _, err = his.search(searchReqs, defaultCollectionID, []UniqueID{defaultPartitionID}, plan, Timestamp(0))
assert.NoError(t, err)
})
t.Run("test no collection - search partitions", func(t *testing.T) {
his, err := genSimpleHistorical(ctx)
assert.NoError(t, err)
plan, searchReqs, err := genSimpleSearchPlanAndRequests()
assert.NoError(t, err)
err = his.replica.removeCollection(defaultCollectionID)
assert.NoError(t, err)
_, _, err = his.search(searchReqs, defaultCollectionID, []UniqueID{}, plan, Timestamp(0))
assert.Error(t, err)
})
t.Run("test no collection - search all collection", func(t *testing.T) {
his, err := genSimpleHistorical(ctx)
assert.NoError(t, err)
plan, searchReqs, err := genSimpleSearchPlanAndRequests()
assert.NoError(t, err)
err = his.replica.removeCollection(defaultCollectionID)
assert.NoError(t, err)
_, _, err = his.search(searchReqs, defaultCollectionID, []UniqueID{defaultPartitionID}, plan, Timestamp(0))
assert.Error(t, err)
})
t.Run("test load partition and partition has been released", func(t *testing.T) {
his, err := genSimpleHistorical(ctx)
assert.NoError(t, err)
plan, searchReqs, err := genSimpleSearchPlanAndRequests()
assert.NoError(t, err)
col, err := his.replica.getCollectionByID(defaultCollectionID)
assert.NoError(t, err)
col.setLoadType(loadTypePartition)
err = his.replica.removePartition(defaultPartitionID)
assert.NoError(t, err)
_, _, err = his.search(searchReqs, defaultCollectionID, []UniqueID{}, plan, Timestamp(0))
assert.Error(t, err)
})
t.Run("test no partition in collection", func(t *testing.T) {
his, err := genSimpleHistorical(ctx)
assert.NoError(t, err)
plan, searchReqs, err := genSimpleSearchPlanAndRequests()
assert.NoError(t, err)
err = his.replica.removePartition(defaultPartitionID)
assert.NoError(t, err)
res, ids, err := his.search(searchReqs, defaultCollectionID, []UniqueID{}, plan, Timestamp(0))
assert.Nil(t, res)
assert.Nil(t, ids)
assert.NoError(t, err)
})
t.Run("test load collection partition released in collection", func(t *testing.T) {
his, err := genSimpleHistorical(ctx)
assert.NoError(t, err)
plan, searchReqs, err := genSimpleSearchPlanAndRequests()
assert.NoError(t, err)
col, err := his.replica.getCollectionByID(defaultCollectionID)
assert.NoError(t, err)
col.addReleasedPartition(defaultPartitionID)
err = his.replica.removePartition(defaultPartitionID)
assert.NoError(t, err)
res, ids, err := his.search(searchReqs, defaultCollectionID, []UniqueID{defaultPartitionID}, plan, Timestamp(0))
assert.Nil(t, res)
assert.Nil(t, ids)
assert.Error(t, err)
})
}