Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
1323bdb8
M
milvus
项目概览
milvus
/
milvus
11 个月 前同步成功
通知
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,发现更多精彩内容 >>
提交
1323bdb8
编写于
9月 22, 2020
作者:
B
bigsheeper
提交者:
yefu.chen
9月 22, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update segment close time
Signed-off-by:
N
bigsheeper
<
yihao.dai@zilliz.com
>
上级
bb03b9bf
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
22 addition
and
1 deletion
+22
-1
reader/read_node/meta.go
reader/read_node/meta.go
+21
-0
reader/read_node/segment_service.go
reader/read_node/segment_service.go
+1
-1
未找到文件。
reader/read_node/meta.go
浏览文件 @
1323bdb8
...
...
@@ -3,6 +3,7 @@ package reader
import
(
"context"
"fmt"
"log"
"path"
"reflect"
"strconv"
...
...
@@ -48,6 +49,15 @@ func isSegmentObj(key string) bool {
return
index
==
0
}
func
isSegmentChannelRangeInQueryNodeChannelRange
(
segment
*
mock
.
Segment
)
bool
{
if
segment
.
ChannelStart
>
segment
.
ChannelEnd
{
log
.
Printf
(
"Illegal segment channel range"
)
return
false
}
// TODO: add query node channel range check
return
true
}
func
printCollectionStruct
(
obj
*
mock
.
Collection
)
{
v
:=
reflect
.
ValueOf
(
obj
)
v
=
reflect
.
Indirect
(
v
)
...
...
@@ -93,6 +103,11 @@ func (node *QueryNode) processSegmentCreate(id string, value string) {
println
(
err
.
Error
())
}
printSegmentStruct
(
segment
)
if
!
isSegmentChannelRangeInQueryNodeChannelRange
(
segment
)
{
return
}
collection
:=
node
.
GetCollectionByID
(
segment
.
CollectionID
)
if
collection
!=
nil
{
partition
:=
collection
.
GetPartitionByName
(
segment
.
PartitionTag
)
...
...
@@ -101,6 +116,7 @@ func (node *QueryNode) processSegmentCreate(id string, value string) {
// start new segment and add it into partition.OpenedSegments
newSegment
:=
partition
.
NewSegment
(
newSegmentID
)
newSegment
.
SegmentStatus
=
SegmentOpened
newSegment
.
SegmentCloseTime
=
-
1
partition
.
OpenedSegments
=
append
(
partition
.
OpenedSegments
,
newSegment
)
node
.
SegmentsMap
[
newSegmentID
]
=
newSegment
}
...
...
@@ -130,6 +146,11 @@ func (node *QueryNode) processSegmentModify(id string, value string) {
println
(
err
.
Error
())
}
printSegmentStruct
(
segment
)
if
!
isSegmentChannelRangeInQueryNodeChannelRange
(
segment
)
{
return
}
seg
,
err
:=
node
.
GetSegmentBySegmentID
(
int64
(
segment
.
SegmentID
))
// todo change to uint64
if
seg
!=
nil
{
seg
.
SegmentCloseTime
=
segment
.
CloseTimeStamp
...
...
reader/read_node/segment_service.go
浏览文件 @
1323bdb8
...
...
@@ -19,7 +19,7 @@ func (node *QueryNode) SegmentsManagement() {
for
_
,
partition
:=
range
collection
.
Partitions
{
for
_
,
oldSegment
:=
range
partition
.
OpenedSegments
{
// TODO: check segment status
if
timeNow
>=
oldSegment
.
SegmentCloseTime
{
if
oldSegment
.
SegmentCloseTime
!=
-
1
&&
timeNow
>=
oldSegment
.
SegmentCloseTime
{
// close old segment and move it into partition.ClosedSegments
if
oldSegment
.
SegmentStatus
!=
SegmentOpened
{
log
.
Println
(
"Never reach here, Opened segment cannot be closed"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录