Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
396a85c9
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,发现更多精彩内容 >>
未验证
提交
396a85c9
编写于
12月 20, 2022
作者:
Y
yah01
提交者:
GitHub
12月 20, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix the number of executing tasks may break the limit (#21318)
Signed-off-by:
N
yah01
<
yang.cen@zilliz.com
>
上级
d4016088
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
33 addition
and
7 deletion
+33
-7
internal/querycoordv2/server.go
internal/querycoordv2/server.go
+4
-2
internal/querycoordv2/task/executor.go
internal/querycoordv2/task/executor.go
+13
-4
internal/querycoordv2/task/scheduler.go
internal/querycoordv2/task/scheduler.go
+16
-1
未找到文件。
internal/querycoordv2/server.go
浏览文件 @
396a85c9
...
...
@@ -252,9 +252,11 @@ func (s *Server) initMeta() error {
log
.
Error
(
"failed to recover collections"
)
return
err
}
metrics
.
QueryCoordNumCollections
.
WithLabelValues
()
.
Set
(
float64
(
len
(
s
.
meta
.
GetAll
())))
collections
:=
s
.
meta
.
GetAll
()
log
.
Info
(
"recovering collections..."
,
zap
.
Int64s
(
"collections"
,
collections
))
metrics
.
QueryCoordNumCollections
.
WithLabelValues
()
.
Set
(
float64
(
len
(
collections
)))
err
=
s
.
meta
.
ReplicaManager
.
Recover
(
s
.
meta
.
CollectionManager
.
GetAll
()
)
err
=
s
.
meta
.
ReplicaManager
.
Recover
(
collections
)
if
err
!=
nil
{
log
.
Error
(
"failed to recover replicas"
)
return
err
...
...
internal/querycoordv2/task/executor.go
浏览文件 @
396a85c9
...
...
@@ -85,17 +85,20 @@ func (ex *Executor) Stop() {
// does nothing and returns false if the action is already committed,
// returns true otherwise.
func
(
ex
*
Executor
)
Execute
(
task
Task
,
step
int
)
bool
{
if
ex
.
executingTaskNum
.
Load
()
>
Params
.
QueryCoordCfg
.
TaskExecutionCap
.
GetAsInt32
()
{
return
false
}
_
,
exist
:=
ex
.
executingTasks
.
LoadOrStore
(
task
.
ID
(),
struct
{}{})
if
exist
{
return
false
}
ex
.
executingTaskNum
.
Inc
()
if
ex
.
executingTaskNum
.
Inc
()
>
Params
.
QueryCoordCfg
.
TaskExecutionCap
.
GetAsInt32
()
{
ex
.
executingTasks
.
Delete
(
task
.
ID
())
ex
.
executingTaskNum
.
Dec
()
return
false
}
log
:=
log
.
With
(
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
Int
(
"step"
,
step
),
zap
.
Int64
(
"source"
,
task
.
SourceID
()),
)
...
...
@@ -127,6 +130,7 @@ func (ex *Executor) scheduleRequests() {
task
:=
mergeTask
.
(
*
LoadSegmentsTask
)
log
.
Info
(
"get merge task, process it"
,
zap
.
Int64
(
"collectionID"
,
task
.
req
.
GetCollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
req
.
GetReplicaID
()),
zap
.
String
(
"shard"
,
task
.
req
.
GetInfos
()[
0
]
.
GetInsertChannel
()),
zap
.
Int64
(
"nodeID"
,
task
.
req
.
GetDstNodeID
()),
zap
.
Int
(
"taskNum"
,
len
(
task
.
tasks
)),
...
...
@@ -157,6 +161,7 @@ func (ex *Executor) processMergeTask(mergeTask *LoadSegmentsTask) {
log
:=
log
.
With
(
zap
.
Int64s
(
"taskIDs"
,
taskIDs
),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
String
(
"shard"
,
task
.
Shard
()),
zap
.
Int64s
(
"segmentIDs"
,
segments
),
zap
.
Int64
(
"nodeID"
,
action
.
Node
()),
...
...
@@ -216,6 +221,7 @@ func (ex *Executor) loadSegment(task *SegmentTask, step int) error {
log
:=
log
.
With
(
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
Int64
(
"segmentID"
,
task
.
segmentID
),
zap
.
Int64
(
"node"
,
action
.
Node
()),
zap
.
Int64
(
"source"
,
task
.
SourceID
()),
...
...
@@ -286,6 +292,7 @@ func (ex *Executor) releaseSegment(task *SegmentTask, step int) {
log
:=
log
.
With
(
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
Int64
(
"segmentID"
,
task
.
segmentID
),
zap
.
Int64
(
"node"
,
action
.
Node
()),
zap
.
Int64
(
"source"
,
task
.
SourceID
()),
...
...
@@ -357,6 +364,7 @@ func (ex *Executor) subDmChannel(task *ChannelTask, step int) error {
log
:=
log
.
With
(
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
String
(
"channel"
,
task
.
Channel
()),
zap
.
Int64
(
"node"
,
action
.
Node
()),
zap
.
Int64
(
"source"
,
task
.
SourceID
()),
...
...
@@ -429,6 +437,7 @@ func (ex *Executor) unsubDmChannel(task *ChannelTask, step int) error {
log
:=
log
.
With
(
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
String
(
"channel"
,
task
.
Channel
()),
zap
.
Int64
(
"node"
,
action
.
Node
()),
zap
.
Int64
(
"source"
,
task
.
SourceID
()),
...
...
internal/querycoordv2/task/scheduler.go
浏览文件 @
396a85c9
...
...
@@ -327,8 +327,9 @@ func (scheduler *taskScheduler) preAdd(task Task) error {
func
(
scheduler
*
taskScheduler
)
promote
(
task
Task
)
error
{
log
:=
log
.
With
(
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
Int64
(
"source"
,
task
.
SourceID
()),
)
err
:=
scheduler
.
prePromote
(
task
)
...
...
@@ -562,6 +563,8 @@ func (scheduler *taskScheduler) preProcess(task Task) bool {
log
:=
log
.
With
(
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int32
(
"type"
,
GetTaskType
(
task
)),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
Int64
(
"source"
,
task
.
SourceID
()),
)
...
...
@@ -606,6 +609,8 @@ func (scheduler *taskScheduler) preProcess(task Task) bool {
func
(
scheduler
*
taskScheduler
)
process
(
task
Task
)
bool
{
log
:=
log
.
With
(
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
Int32
(
"type"
,
GetTaskType
(
task
)),
zap
.
Int64
(
"source"
,
task
.
SourceID
()),
)
...
...
@@ -656,6 +661,8 @@ func (scheduler *taskScheduler) RemoveByNode(node int64) {
func
(
scheduler
*
taskScheduler
)
remove
(
task
Task
)
{
log
:=
log
.
With
(
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
Int32
(
"taskStatus"
,
task
.
Status
()),
)
task
.
Cancel
()
...
...
@@ -682,6 +689,8 @@ func (scheduler *taskScheduler) remove(task Task) {
func
(
scheduler
*
taskScheduler
)
checkCanceled
(
task
Task
)
bool
{
log
:=
log
.
With
(
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
Int64
(
"source"
,
task
.
SourceID
()),
)
...
...
@@ -698,6 +707,8 @@ func (scheduler *taskScheduler) checkCanceled(task Task) bool {
func
(
scheduler
*
taskScheduler
)
checkStale
(
task
Task
)
bool
{
log
:=
log
.
With
(
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
Int64
(
"source"
,
task
.
SourceID
()),
)
...
...
@@ -733,6 +744,8 @@ func (scheduler *taskScheduler) checkStale(task Task) bool {
func
(
scheduler
*
taskScheduler
)
checkSegmentTaskStale
(
task
*
SegmentTask
)
bool
{
log
:=
log
.
With
(
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
Int64
(
"source"
,
task
.
SourceID
()),
)
...
...
@@ -776,6 +789,8 @@ func (scheduler *taskScheduler) checkSegmentTaskStale(task *SegmentTask) bool {
func
(
scheduler
*
taskScheduler
)
checkChannelTaskStale
(
task
*
ChannelTask
)
bool
{
log
:=
log
.
With
(
zap
.
Int64
(
"taskID"
,
task
.
ID
()),
zap
.
Int64
(
"collectionID"
,
task
.
CollectionID
()),
zap
.
Int64
(
"replicaID"
,
task
.
ReplicaID
()),
zap
.
Int64
(
"source"
,
task
.
SourceID
()),
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录