Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
83d63391
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,发现更多精彩内容 >>
未验证
提交
83d63391
编写于
9月 29, 2021
作者:
C
cai.zhang
提交者:
GitHub
9月 29, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[skip ci] Fix golint in indexcoord/task_scheduler.go (#8872)
Signed-off-by:
N
cai.zhang
<
cai.zhang@zilliz.com
>
上级
435dcfe2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
0 deletion
+13
-0
internal/indexcoord/task_scheduler.go
internal/indexcoord/task_scheduler.go
+13
-0
未找到文件。
internal/indexcoord/task_scheduler.go
浏览文件 @
83d63391
...
...
@@ -27,6 +27,7 @@ import (
oplog
"github.com/opentracing/opentracing-go/log"
)
// TaskQueue is a queue used to store tasks.
type
TaskQueue
interface
{
utChan
()
<-
chan
int
utEmpty
()
bool
...
...
@@ -40,6 +41,7 @@ type TaskQueue interface {
tryToRemoveUselessIndexAddTask
(
indexID
UniqueID
)
[]
UniqueID
}
// BaseTaskQueue is a basic instance of TaskQueue.
type
BaseTaskQueue
struct
{
unissuedTasks
*
list
.
List
activeTasks
map
[
UniqueID
]
task
...
...
@@ -90,6 +92,7 @@ func (queue *BaseTaskQueue) addUnissuedTask(t task) error {
// return queue.unissuedTasks.Front().Value.(task)
//}
// PopUnissuedTask pops a task from tasks queue.
func
(
queue
*
BaseTaskQueue
)
PopUnissuedTask
()
task
{
queue
.
utLock
.
Lock
()
defer
queue
.
utLock
.
Unlock
()
...
...
@@ -104,6 +107,7 @@ func (queue *BaseTaskQueue) PopUnissuedTask() task {
return
ft
.
Value
.
(
task
)
}
// AddActiveTask adds a task to activeTasks.
func
(
queue
*
BaseTaskQueue
)
AddActiveTask
(
t
task
)
{
queue
.
atLock
.
Lock
()
defer
queue
.
atLock
.
Unlock
()
...
...
@@ -117,6 +121,7 @@ func (queue *BaseTaskQueue) AddActiveTask(t task) {
queue
.
activeTasks
[
tID
]
=
t
}
// PopActiveTask tasks out a task from activateTask and the task will be executed.
func
(
queue
*
BaseTaskQueue
)
PopActiveTask
(
tID
UniqueID
)
task
{
queue
.
atLock
.
Lock
()
defer
queue
.
atLock
.
Unlock
()
...
...
@@ -130,6 +135,7 @@ func (queue *BaseTaskQueue) PopActiveTask(tID UniqueID) task {
return
nil
}
// Enqueue adds a task to TaskQueue.
func
(
queue
*
BaseTaskQueue
)
Enqueue
(
t
task
)
error
{
tID
,
_
:=
queue
.
sched
.
idAllocator
.
AllocOne
()
log
.
Debug
(
"indexcoord"
,
zap
.
Int64
(
"[Builder] allocate reqID"
,
tID
))
...
...
@@ -141,11 +147,13 @@ func (queue *BaseTaskQueue) Enqueue(t task) error {
return
queue
.
addUnissuedTask
(
t
)
}
// IndexAddTaskQueue is a task queue used to store building index tasks.
type
IndexAddTaskQueue
struct
{
BaseTaskQueue
lock
sync
.
Mutex
}
// Enqueue adds a building index task to IndexAddTaskQueue.
func
(
queue
*
IndexAddTaskQueue
)
Enqueue
(
t
task
)
error
{
queue
.
lock
.
Lock
()
defer
queue
.
lock
.
Unlock
()
...
...
@@ -175,6 +183,7 @@ func (queue *IndexAddTaskQueue) tryToRemoveUselessIndexAddTask(indexID UniqueID)
return
indexBuildIDs
}
// NewIndexAddTaskQueue creates a new IndexAddTaskQueue.
func
NewIndexAddTaskQueue
(
sched
*
TaskScheduler
)
*
IndexAddTaskQueue
{
return
&
IndexAddTaskQueue
{
BaseTaskQueue
:
BaseTaskQueue
{
...
...
@@ -187,6 +196,7 @@ func NewIndexAddTaskQueue(sched *TaskScheduler) *IndexAddTaskQueue {
}
}
// TaskScheduler is a scheduler of indexing tasks.
type
TaskScheduler
struct
{
IndexAddQueue
TaskQueue
...
...
@@ -199,6 +209,7 @@ type TaskScheduler struct {
cancel
context
.
CancelFunc
}
// NewTaskScheduler creates a new task scheduler of indexing tasks.
func
NewTaskScheduler
(
ctx
context
.
Context
,
idAllocator
*
allocator
.
GlobalIDAllocator
,
kv
kv
.
BaseKV
,
...
...
@@ -272,6 +283,7 @@ func (sched *TaskScheduler) indexAddLoop() {
}
}
// Start stats the task scheduler of indexing tasks.
func
(
sched
*
TaskScheduler
)
Start
()
error
{
sched
.
wg
.
Add
(
1
)
...
...
@@ -280,6 +292,7 @@ func (sched *TaskScheduler) Start() error {
return
nil
}
// Start closes the task scheduler of indexing tasks.
func
(
sched
*
TaskScheduler
)
Close
()
{
sched
.
cancel
()
sched
.
wg
.
Wait
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录