Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
848ef741
M
milvus
项目概览
milvus
/
milvus
10 个月 前同步成功
通知
260
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,体验更适合开发者的 AI 搜索 >>
未验证
提交
848ef741
编写于
5月 26, 2023
作者:
Y
yah01
提交者:
GitHub
5月 26, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix the refresh may be notified finished early (#24438)
Signed-off-by:
N
yah01
<
yah2er0ne@outlook.com
>
上级
5efa49f1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
13 deletion
+14
-13
internal/querycoordv2/meta/target_manager.go
internal/querycoordv2/meta/target_manager.go
+3
-2
internal/querycoordv2/observers/target_observer.go
internal/querycoordv2/observers/target_observer.go
+11
-11
未找到文件。
internal/querycoordv2/meta/target_manager.go
浏览文件 @
848ef741
...
@@ -61,7 +61,7 @@ func NewTargetManager(broker Broker, meta *Meta) *TargetManager {
...
@@ -61,7 +61,7 @@ func NewTargetManager(broker Broker, meta *Meta) *TargetManager {
// UpdateCollectionCurrentTarget updates the current target to next target,
// UpdateCollectionCurrentTarget updates the current target to next target,
// WARN: DO NOT call this method for an existing collection as target observer running, or it will lead to a double-update,
// WARN: DO NOT call this method for an existing collection as target observer running, or it will lead to a double-update,
// which may make the current target not available
// which may make the current target not available
func
(
mgr
*
TargetManager
)
UpdateCollectionCurrentTarget
(
collectionID
int64
,
partitionIDs
...
int64
)
{
func
(
mgr
*
TargetManager
)
UpdateCollectionCurrentTarget
(
collectionID
int64
,
partitionIDs
...
int64
)
bool
{
mgr
.
rwMutex
.
Lock
()
mgr
.
rwMutex
.
Lock
()
defer
mgr
.
rwMutex
.
Unlock
()
defer
mgr
.
rwMutex
.
Unlock
()
log
:=
log
.
With
(
zap
.
Int64
(
"collectionID"
,
collectionID
),
log
:=
log
.
With
(
zap
.
Int64
(
"collectionID"
,
collectionID
),
...
@@ -72,7 +72,7 @@ func (mgr *TargetManager) UpdateCollectionCurrentTarget(collectionID int64, part
...
@@ -72,7 +72,7 @@ func (mgr *TargetManager) UpdateCollectionCurrentTarget(collectionID int64, part
newTarget
:=
mgr
.
next
.
getCollectionTarget
(
collectionID
)
newTarget
:=
mgr
.
next
.
getCollectionTarget
(
collectionID
)
if
newTarget
==
nil
||
newTarget
.
IsEmpty
()
{
if
newTarget
==
nil
||
newTarget
.
IsEmpty
()
{
log
.
Info
(
"next target does not exist, skip it"
)
log
.
Info
(
"next target does not exist, skip it"
)
return
return
false
}
}
mgr
.
current
.
updateCollectionTarget
(
collectionID
,
newTarget
)
mgr
.
current
.
updateCollectionTarget
(
collectionID
,
newTarget
)
mgr
.
next
.
removeCollectionTarget
(
collectionID
)
mgr
.
next
.
removeCollectionTarget
(
collectionID
)
...
@@ -80,6 +80,7 @@ func (mgr *TargetManager) UpdateCollectionCurrentTarget(collectionID int64, part
...
@@ -80,6 +80,7 @@ func (mgr *TargetManager) UpdateCollectionCurrentTarget(collectionID int64, part
log
.
Debug
(
"finish to update current target for collection"
,
log
.
Debug
(
"finish to update current target for collection"
,
zap
.
Int64s
(
"segments"
,
newTarget
.
GetAllSegmentIDs
()),
zap
.
Int64s
(
"segments"
,
newTarget
.
GetAllSegmentIDs
()),
zap
.
Strings
(
"channels"
,
newTarget
.
GetAllDmChannelNames
()))
zap
.
Strings
(
"channels"
,
newTarget
.
GetAllDmChannelNames
()))
return
true
}
}
// UpdateCollectionNextTargetWithPartitions pulls next target from DataCoord,
// UpdateCollectionNextTargetWithPartitions pulls next target from DataCoord,
...
...
internal/querycoordv2/observers/target_observer.go
浏览文件 @
848ef741
...
@@ -273,16 +273,16 @@ func (ob *TargetObserver) shouldUpdateCurrentTarget(collectionID int64) bool {
...
@@ -273,16 +273,16 @@ func (ob *TargetObserver) shouldUpdateCurrentTarget(collectionID int64) bool {
func
(
ob
*
TargetObserver
)
updateCurrentTarget
(
collectionID
int64
)
{
func
(
ob
*
TargetObserver
)
updateCurrentTarget
(
collectionID
int64
)
{
log
.
Info
(
"observer trigger update current target"
,
zap
.
Int64
(
"collectionID"
,
collectionID
))
log
.
Info
(
"observer trigger update current target"
,
zap
.
Int64
(
"collectionID"
,
collectionID
))
ob
.
targetMgr
.
UpdateCollectionCurrentTarget
(
collectionID
)
if
ob
.
targetMgr
.
UpdateCollectionCurrentTarget
(
collectionID
)
{
ob
.
mut
.
Lock
()
ob
.
mut
.
L
ock
()
defer
ob
.
mut
.
Unl
ock
()
defer
ob
.
mut
.
Unlock
()
notifiers
:=
ob
.
readyNotifiers
[
collectionID
]
notifiers
:=
ob
.
readyNotifiers
[
collectionID
]
for
_
,
notifier
:=
range
notifiers
{
for
_
,
notifier
:=
range
notifiers
{
close
(
notifier
)
close
(
notifier
)
}
}
// Reuse the capacity of notifiers slice
// Reuse the capacity of notifiers slice
if
notifiers
!=
nil
{
if
notifiers
!=
nil
{
ob
.
readyNotifiers
[
collectionID
]
=
notifiers
[
:
0
]
ob
.
readyNotifiers
[
collectionID
]
=
notifiers
[
:
0
]
}
}
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录