Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
e8737276
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 搜索 >>
未验证
提交
e8737276
编写于
6月 24, 2021
作者:
B
bigsheeper
提交者:
GitHub
6月 24, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove tSafe in release partition task and return max timestamp (#6078)
Signed-off-by:
N
bigsheeper
<
yihao.dai@zilliz.com
>
上级
25d3fead
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
3 deletion
+16
-3
internal/querynode/query_collection.go
internal/querynode/query_collection.go
+1
-1
internal/querynode/task.go
internal/querynode/task.go
+15
-2
未找到文件。
internal/querynode/query_collection.go
浏览文件 @
e8737276
...
...
@@ -164,7 +164,7 @@ func (q *queryCollection) waitNewTSafe() Timestamp {
_
,
_
,
recvOK
:=
reflect
.
Select
(
q
.
watcherSelectCase
)
if
!
recvOK
{
log
.
Error
(
"tSafe has been closed"
,
zap
.
Any
(
"collectionID"
,
q
.
collectionID
))
return
invalidTimestamp
return
Timestamp
(
math
.
MaxInt64
)
}
//log.Debug("wait new tSafe", zap.Any("collectionID", s.collectionID))
t
:=
Timestamp
(
math
.
MaxInt64
)
...
...
internal/querynode/task.go
浏览文件 @
e8737276
...
...
@@ -404,7 +404,7 @@ func (r *releaseCollectionTask) Execute(ctx context.Context) error {
r
.
node
.
streaming
.
dataSyncService
.
removeCollectionFlowGraph
(
r
.
req
.
CollectionID
)
// remove all tSafes of the target collection
for
_
,
channel
:=
range
collection
.
getVChannels
()
{
log
.
Debug
(
"releasing tSafe..."
,
log
.
Debug
(
"releasing tSafe
in releaseCollectionTask
..."
,
zap
.
Any
(
"collectionID"
,
r
.
req
.
CollectionID
),
zap
.
Any
(
"vChannel"
,
channel
),
)
...
...
@@ -486,8 +486,21 @@ func (r *releasePartitionsTask) Execute(ctx context.Context) error {
return
}
vChannels
:=
sCol
.
getVChannels
()
for
_
,
id
:=
range
r
.
req
.
PartitionIDs
{
r
.
node
.
streaming
.
dataSyncService
.
removePartitionFlowGraph
(
id
)
if
_
,
err
=
r
.
node
.
streaming
.
dataSyncService
.
getPartitionFlowGraphs
(
id
,
vChannels
);
err
==
nil
{
r
.
node
.
streaming
.
dataSyncService
.
removePartitionFlowGraph
(
id
)
// remove all tSafes of the target partition
for
_
,
channel
:=
range
vChannels
{
log
.
Debug
(
"releasing tSafe in releasePartitionTask..."
,
zap
.
Any
(
"collectionID"
,
r
.
req
.
CollectionID
),
zap
.
Any
(
"partitionID"
,
id
),
zap
.
Any
(
"vChannel"
,
channel
),
)
r
.
node
.
streaming
.
tSafeReplica
.
removeTSafe
(
channel
)
}
}
hasPartitionInHistorical
:=
r
.
node
.
historical
.
replica
.
hasPartition
(
id
)
if
hasPartitionInHistorical
{
err
=
r
.
node
.
historical
.
replica
.
removePartition
(
id
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录