Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
26cdbb24
M
milvus
项目概览
milvus
/
milvus
大约 1 年 前同步成功
通知
261
Star
22476
Fork
2472
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
26cdbb24
编写于
9月 27, 2021
作者:
G
groot
提交者:
GitHub
9月 27, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add unittest for distributed/rootcoord (#8643)
Signed-off-by:
N
yhmo
<
yihua.mo@zilliz.com
>
上级
6df613f6
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
275 addition
and
3 deletion
+275
-3
internal/distributed/rootcoord/client/client.go
internal/distributed/rootcoord/client/client.go
+15
-3
internal/distributed/rootcoord/client/client_test.go
internal/distributed/rootcoord/client/client_test.go
+260
-0
未找到文件。
internal/distributed/rootcoord/client/client.go
浏览文件 @
26cdbb24
...
...
@@ -47,6 +47,8 @@ type GrpcClient struct {
sess
*
sessionutil
.
Session
addr
string
getGrpcClient
func
()
(
rootcoordpb
.
RootCoordClient
,
error
)
}
func
getRootCoordAddr
(
sess
*
sessionutil
.
Session
)
(
string
,
error
)
{
...
...
@@ -79,11 +81,14 @@ func NewClient(ctx context.Context, metaRoot string, etcdEndpoints []string) (*G
}
ctx
,
cancel
:=
context
.
WithCancel
(
ctx
)
return
&
GrpcClient
{
client
:=
&
GrpcClient
{
ctx
:
ctx
,
cancel
:
cancel
,
sess
:
sess
,
},
nil
}
client
.
setGetGrpcClientFunc
()
return
client
,
nil
}
// Init initialize grpc parameters
...
...
@@ -147,7 +152,11 @@ func (c *GrpcClient) connect(retryOptions ...retry.Option) error {
return
nil
}
func
(
c
*
GrpcClient
)
getGrpcClient
()
(
rootcoordpb
.
RootCoordClient
,
error
)
{
func
(
c
*
GrpcClient
)
setGetGrpcClientFunc
()
{
c
.
getGrpcClient
=
c
.
getGrpcClientFunc
}
func
(
c
*
GrpcClient
)
getGrpcClientFunc
()
(
rootcoordpb
.
RootCoordClient
,
error
)
{
c
.
grpcClientMtx
.
RLock
()
if
c
.
grpcClient
!=
nil
{
defer
c
.
grpcClientMtx
.
RUnlock
()
...
...
@@ -437,6 +446,9 @@ func (c *GrpcClient) DropIndex(ctx context.Context, in *milvuspb.DropIndexReques
return
client
.
DropIndex
(
ctx
,
in
)
})
if
err
!=
nil
||
ret
==
nil
{
return
nil
,
err
}
return
ret
.
(
*
commonpb
.
Status
),
err
}
...
...
internal/distributed/rootcoord/client/client_test.go
0 → 100644
浏览文件 @
26cdbb24
// 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
grpcrootcoordclient
import
(
"context"
"errors"
"testing"
"github.com/milvus-io/milvus/internal/proto/commonpb"
"github.com/milvus-io/milvus/internal/proto/datapb"
"github.com/milvus-io/milvus/internal/proto/internalpb"
"github.com/milvus-io/milvus/internal/proto/milvuspb"
"github.com/milvus-io/milvus/internal/proto/proxypb"
"github.com/milvus-io/milvus/internal/proto/rootcoordpb"
"github.com/milvus-io/milvus/internal/proxy"
"github.com/stretchr/testify/assert"
"google.golang.org/grpc"
)
type
MockRootCoordClient
struct
{
err
error
}
func
(
m
*
MockRootCoordClient
)
GetComponentStates
(
ctx
context
.
Context
,
in
*
internalpb
.
GetComponentStatesRequest
,
opts
...
grpc
.
CallOption
)
(
*
internalpb
.
ComponentStates
,
error
)
{
return
&
internalpb
.
ComponentStates
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
GetTimeTickChannel
(
ctx
context
.
Context
,
in
*
internalpb
.
GetTimeTickChannelRequest
,
opts
...
grpc
.
CallOption
)
(
*
milvuspb
.
StringResponse
,
error
)
{
return
&
milvuspb
.
StringResponse
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
GetStatisticsChannel
(
ctx
context
.
Context
,
in
*
internalpb
.
GetStatisticsChannelRequest
,
opts
...
grpc
.
CallOption
)
(
*
milvuspb
.
StringResponse
,
error
)
{
return
&
milvuspb
.
StringResponse
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
CreateCollection
(
ctx
context
.
Context
,
in
*
milvuspb
.
CreateCollectionRequest
,
opts
...
grpc
.
CallOption
)
(
*
commonpb
.
Status
,
error
)
{
return
&
commonpb
.
Status
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
DropCollection
(
ctx
context
.
Context
,
in
*
milvuspb
.
DropCollectionRequest
,
opts
...
grpc
.
CallOption
)
(
*
commonpb
.
Status
,
error
)
{
return
&
commonpb
.
Status
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
HasCollection
(
ctx
context
.
Context
,
in
*
milvuspb
.
HasCollectionRequest
,
opts
...
grpc
.
CallOption
)
(
*
milvuspb
.
BoolResponse
,
error
)
{
return
&
milvuspb
.
BoolResponse
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
DescribeCollection
(
ctx
context
.
Context
,
in
*
milvuspb
.
DescribeCollectionRequest
,
opts
...
grpc
.
CallOption
)
(
*
milvuspb
.
DescribeCollectionResponse
,
error
)
{
return
&
milvuspb
.
DescribeCollectionResponse
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
CreateAlias
(
ctx
context
.
Context
,
in
*
milvuspb
.
CreateAliasRequest
,
opts
...
grpc
.
CallOption
)
(
*
commonpb
.
Status
,
error
)
{
return
&
commonpb
.
Status
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
DropAlias
(
ctx
context
.
Context
,
in
*
milvuspb
.
DropAliasRequest
,
opts
...
grpc
.
CallOption
)
(
*
commonpb
.
Status
,
error
)
{
return
&
commonpb
.
Status
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
AlterAlias
(
ctx
context
.
Context
,
in
*
milvuspb
.
AlterAliasRequest
,
opts
...
grpc
.
CallOption
)
(
*
commonpb
.
Status
,
error
)
{
return
&
commonpb
.
Status
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
ShowCollections
(
ctx
context
.
Context
,
in
*
milvuspb
.
ShowCollectionsRequest
,
opts
...
grpc
.
CallOption
)
(
*
milvuspb
.
ShowCollectionsResponse
,
error
)
{
return
&
milvuspb
.
ShowCollectionsResponse
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
CreatePartition
(
ctx
context
.
Context
,
in
*
milvuspb
.
CreatePartitionRequest
,
opts
...
grpc
.
CallOption
)
(
*
commonpb
.
Status
,
error
)
{
return
&
commonpb
.
Status
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
DropPartition
(
ctx
context
.
Context
,
in
*
milvuspb
.
DropPartitionRequest
,
opts
...
grpc
.
CallOption
)
(
*
commonpb
.
Status
,
error
)
{
return
&
commonpb
.
Status
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
HasPartition
(
ctx
context
.
Context
,
in
*
milvuspb
.
HasPartitionRequest
,
opts
...
grpc
.
CallOption
)
(
*
milvuspb
.
BoolResponse
,
error
)
{
return
&
milvuspb
.
BoolResponse
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
ShowPartitions
(
ctx
context
.
Context
,
in
*
milvuspb
.
ShowPartitionsRequest
,
opts
...
grpc
.
CallOption
)
(
*
milvuspb
.
ShowPartitionsResponse
,
error
)
{
return
&
milvuspb
.
ShowPartitionsResponse
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
DescribeSegment
(
ctx
context
.
Context
,
in
*
milvuspb
.
DescribeSegmentRequest
,
opts
...
grpc
.
CallOption
)
(
*
milvuspb
.
DescribeSegmentResponse
,
error
)
{
return
&
milvuspb
.
DescribeSegmentResponse
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
ShowSegments
(
ctx
context
.
Context
,
in
*
milvuspb
.
ShowSegmentsRequest
,
opts
...
grpc
.
CallOption
)
(
*
milvuspb
.
ShowSegmentsResponse
,
error
)
{
return
&
milvuspb
.
ShowSegmentsResponse
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
CreateIndex
(
ctx
context
.
Context
,
in
*
milvuspb
.
CreateIndexRequest
,
opts
...
grpc
.
CallOption
)
(
*
commonpb
.
Status
,
error
)
{
return
&
commonpb
.
Status
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
DescribeIndex
(
ctx
context
.
Context
,
in
*
milvuspb
.
DescribeIndexRequest
,
opts
...
grpc
.
CallOption
)
(
*
milvuspb
.
DescribeIndexResponse
,
error
)
{
return
&
milvuspb
.
DescribeIndexResponse
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
DropIndex
(
ctx
context
.
Context
,
in
*
milvuspb
.
DropIndexRequest
,
opts
...
grpc
.
CallOption
)
(
*
commonpb
.
Status
,
error
)
{
return
&
commonpb
.
Status
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
AllocTimestamp
(
ctx
context
.
Context
,
in
*
rootcoordpb
.
AllocTimestampRequest
,
opts
...
grpc
.
CallOption
)
(
*
rootcoordpb
.
AllocTimestampResponse
,
error
)
{
return
&
rootcoordpb
.
AllocTimestampResponse
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
AllocID
(
ctx
context
.
Context
,
in
*
rootcoordpb
.
AllocIDRequest
,
opts
...
grpc
.
CallOption
)
(
*
rootcoordpb
.
AllocIDResponse
,
error
)
{
return
&
rootcoordpb
.
AllocIDResponse
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
UpdateChannelTimeTick
(
ctx
context
.
Context
,
in
*
internalpb
.
ChannelTimeTickMsg
,
opts
...
grpc
.
CallOption
)
(
*
commonpb
.
Status
,
error
)
{
return
&
commonpb
.
Status
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
ReleaseDQLMessageStream
(
ctx
context
.
Context
,
in
*
proxypb
.
ReleaseDQLMessageStreamRequest
,
opts
...
grpc
.
CallOption
)
(
*
commonpb
.
Status
,
error
)
{
return
&
commonpb
.
Status
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
SegmentFlushCompleted
(
ctx
context
.
Context
,
in
*
datapb
.
SegmentFlushCompletedMsg
,
opts
...
grpc
.
CallOption
)
(
*
commonpb
.
Status
,
error
)
{
return
&
commonpb
.
Status
{},
m
.
err
}
func
(
m
*
MockRootCoordClient
)
GetMetrics
(
ctx
context
.
Context
,
in
*
milvuspb
.
GetMetricsRequest
,
opts
...
grpc
.
CallOption
)
(
*
milvuspb
.
GetMetricsResponse
,
error
)
{
return
&
milvuspb
.
GetMetricsResponse
{},
m
.
err
}
func
Test_NewClient
(
t
*
testing
.
T
)
{
proxy
.
Params
.
InitOnce
()
ctx
:=
context
.
Background
()
client
,
err
:=
NewClient
(
ctx
,
proxy
.
Params
.
MetaRootPath
,
proxy
.
Params
.
EtcdEndpoints
)
assert
.
Nil
(
t
,
err
)
assert
.
NotNil
(
t
,
client
)
err
=
client
.
Init
()
assert
.
Nil
(
t
,
err
)
err
=
client
.
Start
()
assert
.
Nil
(
t
,
err
)
err
=
client
.
Register
()
assert
.
Nil
(
t
,
err
)
checkFunc
:=
func
(
retNotNil
bool
)
{
retCheck
:=
func
(
notNil
bool
,
ret
interface
{},
err
error
)
{
if
notNil
{
assert
.
NotNil
(
t
,
ret
)
assert
.
Nil
(
t
,
err
)
}
else
{
assert
.
Nil
(
t
,
ret
)
assert
.
NotNil
(
t
,
err
)
}
}
r1
,
err
:=
client
.
GetComponentStates
(
ctx
)
retCheck
(
retNotNil
,
r1
,
err
)
r2
,
err
:=
client
.
GetTimeTickChannel
(
ctx
)
retCheck
(
retNotNil
,
r2
,
err
)
r3
,
err
:=
client
.
GetStatisticsChannel
(
ctx
)
retCheck
(
retNotNil
,
r3
,
err
)
r4
,
err
:=
client
.
CreateCollection
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r4
,
err
)
r5
,
err
:=
client
.
DropCollection
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r5
,
err
)
r6
,
err
:=
client
.
HasCollection
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r6
,
err
)
r7
,
err
:=
client
.
DescribeCollection
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r7
,
err
)
r8
,
err
:=
client
.
ShowCollections
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r8
,
err
)
r9
,
err
:=
client
.
CreatePartition
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r9
,
err
)
r10
,
err
:=
client
.
DropPartition
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r10
,
err
)
r11
,
err
:=
client
.
HasPartition
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r11
,
err
)
r12
,
err
:=
client
.
ShowPartitions
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r12
,
err
)
r13
,
err
:=
client
.
CreateIndex
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r13
,
err
)
r14
,
err
:=
client
.
DropIndex
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r14
,
err
)
r15
,
err
:=
client
.
DescribeIndex
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r15
,
err
)
r16
,
err
:=
client
.
AllocTimestamp
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r16
,
err
)
r17
,
err
:=
client
.
AllocID
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r17
,
err
)
r18
,
err
:=
client
.
UpdateChannelTimeTick
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r18
,
err
)
r19
,
err
:=
client
.
DescribeSegment
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r19
,
err
)
r20
,
err
:=
client
.
ShowSegments
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r20
,
err
)
r21
,
err
:=
client
.
ReleaseDQLMessageStream
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r21
,
err
)
r22
,
err
:=
client
.
SegmentFlushCompleted
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r22
,
err
)
r23
,
err
:=
client
.
GetMetrics
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r23
,
err
)
r24
,
err
:=
client
.
CreateAlias
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r24
,
err
)
r25
,
err
:=
client
.
DropAlias
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r25
,
err
)
r26
,
err
:=
client
.
AlterAlias
(
ctx
,
nil
)
retCheck
(
retNotNil
,
r26
,
err
)
}
client
.
getGrpcClient
=
func
()
(
rootcoordpb
.
RootCoordClient
,
error
)
{
return
&
MockRootCoordClient
{
err
:
nil
},
errors
.
New
(
"dummy"
)
}
checkFunc
(
false
)
client
.
getGrpcClient
=
func
()
(
rootcoordpb
.
RootCoordClient
,
error
)
{
return
&
MockRootCoordClient
{
err
:
errors
.
New
(
"dummy"
)},
nil
}
checkFunc
(
false
)
client
.
getGrpcClient
=
func
()
(
rootcoordpb
.
RootCoordClient
,
error
)
{
return
&
MockRootCoordClient
{
err
:
nil
},
nil
}
checkFunc
(
true
)
err
=
client
.
Stop
()
assert
.
Nil
(
t
,
err
)
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录