未验证 提交 5f3b9615 编写于 作者: D dragondriver 提交者: GitHub

Add test case for delete task (#7939)

Signed-off-by: Ndragondriver <jiquan.long@zilliz.com>
上级 a0fd2707
......@@ -1355,7 +1355,7 @@ func (node *Proxy) Delete(ctx context.Context, request *milvuspb.DeleteRequest)
}, nil
}
dt := &DeleteTask{
dt := &deleteTask{
ctx: ctx,
Condition: NewTaskCondition(ctx),
DeleteRequest: request,
......@@ -2210,7 +2210,7 @@ func (node *Proxy) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsReque
log.Debug("failed to get system info metrics from cache, recompute instead",
zap.Error(err))
metrics, err := getSystemInfoMetrics(ctx, req, node, node.session.Address)
metrics, err := getSystemInfoMetrics(ctx, req, node)
log.Debug("Proxy.GetMetrics",
zap.Int64("node_id", Params.ProxyID),
......
......@@ -32,7 +32,6 @@ func getSystemInfoMetrics(
ctx context.Context,
request *milvuspb.GetMetricsRequest,
node *Proxy,
ip string,
) (*milvuspb.GetMetricsResponse, error) {
var err error
......@@ -54,7 +53,7 @@ func getSystemInfoMetrics(
ErrorReason: "",
Name: proxyRoleName,
HardwareInfos: metricsinfo.HardwareMetrics{
IP: ip,
IP: node.session.Address,
CPUCoreCount: metricsinfo.GetCPUCoreCount(false),
CPUCoreUsage: metricsinfo.GetCPUUsage(),
Memory: metricsinfo.GetMemoryCount(),
......
......@@ -15,6 +15,9 @@ import (
"context"
"testing"
"github.com/milvus-io/milvus/internal/util/funcutil"
"github.com/milvus-io/milvus/internal/util/sessionutil"
"github.com/milvus-io/milvus/internal/util/uniquegenerator"
"github.com/milvus-io/milvus/internal/proto/commonpb"
......@@ -24,8 +27,6 @@ import (
"github.com/stretchr/testify/assert"
"github.com/milvus-io/milvus/internal/util/metricsinfo"
"github.com/milvus-io/milvus/internal/util/funcutil"
)
func TestProxy_metrics(t *testing.T) {
......@@ -54,6 +55,7 @@ func TestProxy_metrics(t *testing.T) {
queryCoord: qc,
dataCoord: dc,
indexCoord: ic,
session: &sessionutil.Session{Address: funcutil.GenRandomStr()},
}
rc.getMetricsFunc = func(ctx context.Context, request *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
......@@ -267,9 +269,8 @@ func TestProxy_metrics(t *testing.T) {
}
ip := funcutil.GenRandomStr()
req, _ := metricsinfo.ConstructRequestByMetricType(metricsinfo.SystemInfoMetrics)
resp, err := getSystemInfoMetrics(ctx, req, proxy, ip)
resp, err := getSystemInfoMetrics(ctx, req, proxy)
assert.NoError(t, err)
assert.NotNil(t, resp)
......
......@@ -79,6 +79,7 @@ const (
ReleaseCollectionTaskName = "ReleaseCollectionTask"
LoadPartitionTaskName = "LoadPartitionsTask"
ReleasePartitionTaskName = "ReleasePartitionsTask"
deleteTaskName = "DeleteTask"
)
type task interface {
......@@ -4620,52 +4621,52 @@ func (rpt *releasePartitionsTask) PostExecute(ctx context.Context) error {
return nil
}
type DeleteTask struct {
type deleteTask struct {
Condition
*milvuspb.DeleteRequest
ctx context.Context
result *milvuspb.MutationResult
}
func (dt *DeleteTask) TraceCtx() context.Context {
func (dt *deleteTask) TraceCtx() context.Context {
return dt.ctx
}
func (dt *DeleteTask) ID() UniqueID {
func (dt *deleteTask) ID() UniqueID {
return dt.Base.MsgID
}
func (dt *DeleteTask) SetID(uid UniqueID) {
func (dt *deleteTask) SetID(uid UniqueID) {
dt.Base.MsgID = uid
}
func (dt *DeleteTask) Type() commonpb.MsgType {
func (dt *deleteTask) Type() commonpb.MsgType {
return dt.Base.MsgType
}
func (dt *DeleteTask) Name() string {
return ReleasePartitionTaskName
func (dt *deleteTask) Name() string {
return deleteTaskName
}
func (dt *DeleteTask) BeginTs() Timestamp {
func (dt *deleteTask) BeginTs() Timestamp {
return dt.Base.Timestamp
}
func (dt *DeleteTask) EndTs() Timestamp {
func (dt *deleteTask) EndTs() Timestamp {
return dt.Base.Timestamp
}
func (dt *DeleteTask) SetTs(ts Timestamp) {
func (dt *deleteTask) SetTs(ts Timestamp) {
dt.Base.Timestamp = ts
}
func (dt *DeleteTask) OnEnqueue() error {
func (dt *deleteTask) OnEnqueue() error {
dt.Base = &commonpb.MsgBase{}
return nil
}
func (dt *DeleteTask) PreExecute(ctx context.Context) error {
dt.Base.MsgType = commonpb.MsgType_ReleasePartitions
func (dt *deleteTask) PreExecute(ctx context.Context) error {
dt.Base.MsgType = commonpb.MsgType_Delete
dt.Base.SourceID = Params.ProxyID
collName := dt.CollectionName
......@@ -4681,10 +4682,10 @@ func (dt *DeleteTask) PreExecute(ctx context.Context) error {
return nil
}
func (dt *DeleteTask) Execute(ctx context.Context) (err error) {
func (dt *deleteTask) Execute(ctx context.Context) (err error) {
return nil
}
func (dt *DeleteTask) PostExecute(ctx context.Context) error {
func (dt *deleteTask) PostExecute(ctx context.Context) error {
return nil
}
......@@ -2979,3 +2979,101 @@ func TestInsertTask_all(t *testing.T) {
assert.NoError(t, task.Execute(ctx))
assert.NoError(t, task.PostExecute(ctx))
}
func TestDeleteTask_all(t *testing.T) {
Params.Init()
ctx := context.Background()
prefix := "TestDeleteTask_all"
dbName := ""
collectionName := prefix + funcutil.GenRandomStr()
partitionName := prefix + funcutil.GenRandomStr()
task := &deleteTask{
Condition: NewTaskCondition(ctx),
DeleteRequest: &milvuspb.DeleteRequest{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_Delete,
MsgID: 0,
Timestamp: 0,
SourceID: 0,
},
DbName: dbName,
CollectionName: collectionName,
PartitionName: partitionName,
Expr: "",
},
ctx: ctx,
result: &milvuspb.MutationResult{
Status: &commonpb.Status{
ErrorCode: commonpb.ErrorCode_Success,
Reason: "",
},
IDs: nil,
SuccIndex: nil,
ErrIndex: nil,
Acknowledged: false,
InsertCnt: 0,
DeleteCnt: 0,
UpsertCnt: 0,
Timestamp: 0,
},
}
assert.NoError(t, task.OnEnqueue())
assert.NotNil(t, task.TraceCtx())
id := UniqueID(uniquegenerator.GetUniqueIntGeneratorIns().GetInt())
task.SetID(id)
assert.Equal(t, id, task.ID())
task.Base.MsgType = commonpb.MsgType_Delete
assert.Equal(t, commonpb.MsgType_Delete, task.Type())
ts := Timestamp(time.Now().UnixNano())
task.SetTs(ts)
assert.Equal(t, ts, task.BeginTs())
assert.Equal(t, ts, task.EndTs())
assert.NoError(t, task.PreExecute(ctx))
assert.NoError(t, task.Execute(ctx))
assert.NoError(t, task.PostExecute(ctx))
}
func TestDeleteTask_PreExecute(t *testing.T) {
Params.Init()
ctx := context.Background()
prefix := "TestDeleteTask_all"
dbName := ""
collectionName := prefix + funcutil.GenRandomStr()
partitionName := prefix + funcutil.GenRandomStr()
task := &deleteTask{
DeleteRequest: &milvuspb.DeleteRequest{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_Delete,
MsgID: 0,
Timestamp: 0,
SourceID: 0,
},
DbName: dbName,
CollectionName: collectionName,
PartitionName: partitionName,
Expr: "",
},
}
assert.NoError(t, task.PreExecute(ctx))
task.DeleteRequest.CollectionName = "" // empty
assert.Error(t, task.PreExecute(ctx))
task.DeleteRequest.CollectionName = collectionName
task.DeleteRequest.PartitionName = "" // empty
assert.Error(t, task.PreExecute(ctx))
task.DeleteRequest.PartitionName = partitionName
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册