Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
6f8ea8cc
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,发现更多精彩内容 >>
未验证
提交
6f8ea8cc
编写于
12月 13, 2021
作者:
X
xige-16
提交者:
GitHub
12月 13, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix querycoord panic at getRecoveryInfo (#12983)
Signed-off-by:
N
xige-16
<
xi.ge@zilliz.com
>
上级
b7e97f67
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
172 addition
and
171 deletion
+172
-171
internal/core/src/pb/common.pb.cc
internal/core/src/pb/common.pb.cc
+13
-12
internal/core/src/pb/common.pb.h
internal/core/src/pb/common.pb.h
+1
-0
internal/proto/common.proto
internal/proto/common.proto
+1
-0
internal/proto/commonpb/common.pb.go
internal/proto/commonpb/common.pb.go
+95
-91
internal/querycoord/task.go
internal/querycoord/task.go
+62
-68
未找到文件。
internal/core/src/pb/common.pb.cc
浏览文件 @
6f8ea8cc
...
@@ -285,7 +285,7 @@ const char descriptor_table_protodef_common_2eproto[] PROTOBUF_SECTION_VARIABLE(
...
@@ -285,7 +285,7 @@ const char descriptor_table_protodef_common_2eproto[] PROTOBUF_SECTION_VARIABLE(
"
\006
Failed
\020\004
*s
\n\014
SegmentState
\022\024\n\020
SegmentStat"
"
\006
Failed
\020\004
*s
\n\014
SegmentState
\022\024\n\020
SegmentStat"
"eNone
\020\000\022\014\n\010
NotExist
\020\001\022\013\n\007
Growing
\020\002\022\n\n\006
Se"
"eNone
\020\000\022\014\n\010
NotExist
\020\001\022\013\n\007
Growing
\020\002\022\n\n\006
Se"
"aled
\020\003\022\013\n\007
Flushed
\020\004\022\014\n\010
Flushing
\020\005\022\013\n\007
Dro"
"aled
\020\003\022\013\n\007
Flushed
\020\004\022\014\n\010
Flushing
\020\005\022\013\n\007
Dro"
"pped
\020\006
*
\
375\010
\n\007
MsgType
\022\r\n\t
Undefined
\020\000\022\024\n\020
Cre"
"pped
\020\006
*
\
223\t
\n\007
MsgType
\022\r\n\t
Undefined
\020\000\022\024\n\020
Cre"
"ateCollection
\020
d
\022\022\n\016
DropCollection
\020
e
\022\021\n\r
H"
"ateCollection
\020
d
\022\022\n\016
DropCollection
\020
e
\022\021\n\r
H"
"asCollection
\020
f
\022\026\n\022
DescribeCollection
\020
g
\022\023
"
"asCollection
\020
f
\022\026\n\022
DescribeCollection
\020
g
\022\023
"
"
\n\017
ShowCollections
\020
h
\022\024\n\020
GetSystemConfigs
\020
"
"
\n\017
ShowCollections
\020
h
\022\024\n\020
GetSystemConfigs
\020
"
...
@@ -309,16 +309,16 @@ const char descriptor_table_protodef_common_2eproto[] PROTOBUF_SECTION_VARIABLE(
...
@@ -309,16 +309,16 @@ const char descriptor_table_protodef_common_2eproto[] PROTOBUF_SECTION_VARIABLE(
"ls
\020\375\003\022\027\n\022
WatchQueryChannels
\020\376\003\022\030\n\023
Remove"
"ls
\020\375\003\022\027\n\022
WatchQueryChannels
\020\376\003\022\030\n\023
Remove"
"QueryChannels
\020\377\003\022\035\n\030
SealedSegmentsChange"
"QueryChannels
\020\377\003\022\035\n\030
SealedSegmentsChange"
"Info
\020\200\004\022\027\n\022
WatchDeltaChannels
\020\201\004\022\020\n\013
Segm"
"Info
\020\200\004\022\027\n\022
WatchDeltaChannels
\020\201\004\022\020\n\013
Segm"
"entInfo
\020\330\004\022\017\n\n
SystemInfo
\020\331\004\022\
r\n\010
TimeTick
\020
"
"entInfo
\020\330\004\022\017\n\n
SystemInfo
\020\331\004\022\
024\n\017
GetRecove
"
"
\260\t\022\023\n\016
QueryNodeStats
\020\261\t\022\016\n\t
LoadIndex
\020\262\t\022
"
"
ryInfo
\020\332\004\022\r\n\010
TimeTick
\020\260\t\022\023\n\016
QueryNodeSta
"
"
\016\n\t
RequestID
\020\263\t\022\017\n\n
RequestTSO
\020\264\t\022\024\n\017
Allo
"
"
ts
\020\261\t\022\016\n\t
LoadIndex
\020\262\t\022\016\n\t
RequestID
\020\263\t\022\017\n
"
"
cateSegment
\020\265\t\022\026\n\021
SegmentStatistics
\020\266\t\022\025
"
"
\n
RequestTSO
\020\264\t\022\024\n\017
AllocateSegment
\020\265\t\022\026\n\021
"
"
\n\020
SegmentFlushDone
\020\267\t\022\017\n\n
DataNodeTt
\020\270\t
*
\"
"
"
SegmentStatistics
\020\266\t\022\025\n\020
SegmentFlushDone
"
"
\
n\007
DslType
\022\007\n\003
Dsl
\020\000\022\016\n\n
BoolExprV1
\020\001
*B
\n\017
Co
"
"
\
020\267\t\022\017\n\n
DataNodeTt
\020\270\t
*
\"\n\007
DslType
\022\007\n\003
Dsl
\020\000
"
"
mpactionState
\022\021\n\r
UndefiedState
\020\000\022\r\n\t
Exec
"
"
\022\016\n\n
BoolExprV1
\020\001
*B
\n\017
CompactionState
\022\021\n\r
U
"
"
uting
\020\001\022\r\n\t
Completed
\020\002
B5Z3github.com/mil
"
"
ndefiedState
\020\000\022\r\n\t
Executing
\020\001\022\r\n\t
Complet
"
"
vus-io/milvus/internal/proto/commonpbb
\006
p
"
"
ed
\020\002
B5Z3github.com/milvus-io/milvus/inte
"
"roto3"
"r
nal/proto/commonpbb
\006
pr
oto3"
;
;
static
const
::
PROTOBUF_NAMESPACE_ID
::
internal
::
DescriptorTable
*
const
descriptor_table_common_2eproto_deps
[
1
]
=
{
static
const
::
PROTOBUF_NAMESPACE_ID
::
internal
::
DescriptorTable
*
const
descriptor_table_common_2eproto_deps
[
1
]
=
{
};
};
...
@@ -335,7 +335,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_com
...
@@ -335,7 +335,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_com
static
::
PROTOBUF_NAMESPACE_ID
::
internal
::
once_flag
descriptor_table_common_2eproto_once
;
static
::
PROTOBUF_NAMESPACE_ID
::
internal
::
once_flag
descriptor_table_common_2eproto_once
;
static
bool
descriptor_table_common_2eproto_initialized
=
false
;
static
bool
descriptor_table_common_2eproto_initialized
=
false
;
const
::
PROTOBUF_NAMESPACE_ID
::
internal
::
DescriptorTable
descriptor_table_common_2eproto
=
{
const
::
PROTOBUF_NAMESPACE_ID
::
internal
::
DescriptorTable
descriptor_table_common_2eproto
=
{
&
descriptor_table_common_2eproto_initialized
,
descriptor_table_protodef_common_2eproto
,
"common.proto"
,
26
05
,
&
descriptor_table_common_2eproto_initialized
,
descriptor_table_protodef_common_2eproto
,
"common.proto"
,
26
27
,
&
descriptor_table_common_2eproto_once
,
descriptor_table_common_2eproto_sccs
,
descriptor_table_common_2eproto_deps
,
8
,
0
,
&
descriptor_table_common_2eproto_once
,
descriptor_table_common_2eproto_sccs
,
descriptor_table_common_2eproto_deps
,
8
,
0
,
schemas
,
file_default_instances
,
TableStruct_common_2eproto
::
offsets
,
schemas
,
file_default_instances
,
TableStruct_common_2eproto
::
offsets
,
file_level_metadata_common_2eproto
,
8
,
file_level_enum_descriptors_common_2eproto
,
file_level_service_descriptors_common_2eproto
,
file_level_metadata_common_2eproto
,
8
,
file_level_enum_descriptors_common_2eproto
,
file_level_service_descriptors_common_2eproto
,
...
@@ -474,6 +474,7 @@ bool MsgType_IsValid(int value) {
...
@@ -474,6 +474,7 @@ bool MsgType_IsValid(int value) {
case
513
:
case
513
:
case
600
:
case
600
:
case
601
:
case
601
:
case
602
:
case
1200
:
case
1200
:
case
1201
:
case
1201
:
case
1202
:
case
1202
:
...
...
internal/core/src/pb/common.pb.h
浏览文件 @
6f8ea8cc
...
@@ -255,6 +255,7 @@ enum MsgType : int {
...
@@ -255,6 +255,7 @@ enum MsgType : int {
WatchDeltaChannels
=
513
,
WatchDeltaChannels
=
513
,
SegmentInfo
=
600
,
SegmentInfo
=
600
,
SystemInfo
=
601
,
SystemInfo
=
601
,
GetRecoveryInfo
=
602
,
TimeTick
=
1200
,
TimeTick
=
1200
,
QueryNodeStats
=
1201
,
QueryNodeStats
=
1201
,
LoadIndex
=
1202
,
LoadIndex
=
1202
,
...
...
internal/proto/common.proto
浏览文件 @
6f8ea8cc
...
@@ -140,6 +140,7 @@ enum MsgType {
...
@@ -140,6 +140,7 @@ enum MsgType {
/* DATA SERVICE */
/* DATA SERVICE */
SegmentInfo
=
600
;
SegmentInfo
=
600
;
SystemInfo
=
601
;
SystemInfo
=
601
;
GetRecoveryInfo
=
602
;
/* SYSTEM CONTROL */
/* SYSTEM CONTROL */
TimeTick
=
1200
;
TimeTick
=
1200
;
...
...
internal/proto/commonpb/common.pb.go
浏览文件 @
6f8ea8cc
...
@@ -250,8 +250,9 @@ const (
...
@@ -250,8 +250,9 @@ const (
MsgType_SealedSegmentsChangeInfo
MsgType
=
512
MsgType_SealedSegmentsChangeInfo
MsgType
=
512
MsgType_WatchDeltaChannels
MsgType
=
513
MsgType_WatchDeltaChannels
MsgType
=
513
// DATA SERVICE
// DATA SERVICE
MsgType_SegmentInfo
MsgType
=
600
MsgType_SegmentInfo
MsgType
=
600
MsgType_SystemInfo
MsgType
=
601
MsgType_SystemInfo
MsgType
=
601
MsgType_GetRecoveryInfo
MsgType
=
602
// SYSTEM CONTROL
// SYSTEM CONTROL
MsgType_TimeTick
MsgType
=
1200
MsgType_TimeTick
MsgType
=
1200
MsgType_QueryNodeStats
MsgType
=
1201
MsgType_QueryNodeStats
MsgType
=
1201
...
@@ -312,6 +313,7 @@ var MsgType_name = map[int32]string{
...
@@ -312,6 +313,7 @@ var MsgType_name = map[int32]string{
513
:
"WatchDeltaChannels"
,
513
:
"WatchDeltaChannels"
,
600
:
"SegmentInfo"
,
600
:
"SegmentInfo"
,
601
:
"SystemInfo"
,
601
:
"SystemInfo"
,
602
:
"GetRecoveryInfo"
,
1200
:
"TimeTick"
,
1200
:
"TimeTick"
,
1201
:
"QueryNodeStats"
,
1201
:
"QueryNodeStats"
,
1202
:
"LoadIndex"
,
1202
:
"LoadIndex"
,
...
@@ -371,6 +373,7 @@ var MsgType_value = map[string]int32{
...
@@ -371,6 +373,7 @@ var MsgType_value = map[string]int32{
"WatchDeltaChannels"
:
513
,
"WatchDeltaChannels"
:
513
,
"SegmentInfo"
:
600
,
"SegmentInfo"
:
600
,
"SystemInfo"
:
601
,
"SystemInfo"
:
601
,
"GetRecoveryInfo"
:
602
,
"TimeTick"
:
1200
,
"TimeTick"
:
1200
,
"QueryNodeStats"
:
1201
,
"QueryNodeStats"
:
1201
,
"LoadIndex"
:
1202
,
"LoadIndex"
:
1202
,
...
@@ -841,95 +844,96 @@ func init() {
...
@@ -841,95 +844,96 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"common.proto"
,
fileDescriptor_555bd8c177793206
)
}
func
init
()
{
proto
.
RegisterFile
(
"common.proto"
,
fileDescriptor_555bd8c177793206
)
}
var
fileDescriptor_555bd8c177793206
=
[]
byte
{
var
fileDescriptor_555bd8c177793206
=
[]
byte
{
// 14
33
bytes of a gzipped FileDescriptorProto
// 14
46
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xa4
,
0x56
,
0x4b
,
0x73
,
0x1b
,
0xc7
,
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xa4
,
0x56
,
0x4b
,
0x73
,
0x1b
,
0xc7
,
0x11
,
0xe6
,
0x62
,
0x41
,
0x82
,
0x
6
8
,
0x82
,
0xe4
,
0x70
,
0xf8
,
0x10
,
0xa5
,
0x30
,
0x29
,
0x15
,
0x4e
,
0x11
,
0xe6
,
0x62
,
0x41
,
0x82
,
0x
1
8
,
0x82
,
0xe4
,
0x70
,
0xf8
,
0x10
,
0xa5
,
0x30
,
0x29
,
0x15
,
0x4e
,
0x2a
,
0x56
,
0x89
,
0x4c
,
0xa2
,
0x4a
,
0x72
,
0xd2
,
0x81
,
0xc4
,
0xf2
,
0x81
,
0x92
,
0xf8
,
0xc8
,
0x82
,
0x2a
,
0x56
,
0x89
,
0x4c
,
0xa2
,
0x4a
,
0x72
,
0xd2
,
0x81
,
0xc4
,
0xf2
,
0x81
,
0x92
,
0xf8
,
0xc8
,
0x82
,
0x52
,
0x52
,
0x39
,
0x44
,
0x35
,
0xdc
,
0x6d
,
0x02
,
0x13
,
0xed
,
0xee
,
0x20
,
0x3b
,
0xb3
,
0x14
,
0x71
,
0x52
,
0x52
,
0x39
,
0x44
,
0x35
,
0xdc
,
0x6d
,
0x02
,
0x13
,
0xed
,
0xce
,
0x20
,
0x33
,
0xb3
,
0x14
,
0x71
,
0x4b
,
0xfe
,
0x81
,
0xad
,
0xdf
,
0x61
,
0xbb
,
0xfc
,
0xb6
,
0xcb
,
0xbf
,
0xc0
,
0xef
,
0xb3
,
0xfd
,
0x0f
,
0x4b
,
0xfe
,
0x41
,
0xa2
,
0xfc
,
0x8d
,
0xd8
,
0xe5
,
0xb7
,
0x5d
,
0xfe
,
0x05
,
0x7e
,
0x9f
,
0x6d
,
0xff
,
0xfc
,
0x03
,
0xfc
,
0xd4
,
0xd3
,
0xd5
,
0xb3
,
0x0b
,
0x60
,
0x55
,
0x25
,
0x9d
,
0x7c
,
0x9b
,
0xfe
,
0xa6
,
0x02
,
0xff
,
0x00
,
0x3f
,
0xf5
,
0x74
,
0xf5
,
0xec
,
0x02
,
0x58
,
0x55
,
0x49
,
0x27
,
0xdf
,
0xa6
,
0xbf
,
0xfb
,
0x9b
,
0x9e
,
0xaf
,
0x7b
,
0x7a
,
0x17
,
0x1a
,
0x81
,
0x8a
,
0x63
,
0x95
,
0x6c
,
0xf4
,
0x53
,
0x65
,
0xee
,
0xfe
,
0xba
,
0xa7
,
0xbb
,
0xa7
,
0x77
,
0x49
,
0x23
,
0x52
,
0x69
,
0xaa
,
0xe4
,
0x46
,
0x5f
,
0x2b
,
0x14
,
0x5f
,
0x8c
,
0x65
,
0x74
,
0x9e
,
0xe9
,
0xdc
,
0xda
,
0xc8
,
0xb7
,
0x9a
,
0xf7
,
0x60
,
0xaa
,
0x63
,
0xab
,
0xd8
,
0x62
,
0x2a
,
0x92
,
0xf3
,
0xcc
,
0xe4
,
0xd2
,
0x46
,
0xae
,
0x6a
,
0xde
,
0x23
,
0x53
,
0x1d
,
0x84
,
0xc9
,
0x34
,
0xbf
,
0x09
,
0x80
,
0x69
,
0xaa
,
0xd2
,
0x7b
,
0x81
,
0x0a
,
0x71
,
0xd5
,
0xb9
,
0xea
,
0xcb
,
0x6d
,
0x66
,
0xd8
,
0x4d
,
0x42
,
0x40
,
0x6b
,
0xa5
,
0xef
,
0x45
,
0x2a
,
0x86
,
0x55
,
0xef
,
0xaa
,
0x5c
,
0x9b
,
0xfb
,
0xf3
,
0x1f
,
0x36
,
0x5e
,
0x12
,
0xb3
,
0xb1
,
0x43
,
0x6e
,
0x2d
,
0x15
,
0xa2
,
0x5f
,
0x77
,
0x6d
,
0xee
,
0xf7
,
0xbf
,
0xd9
,
0x78
,
0x89
,
0xcf
,
0xc6
,
0x0e
,
0x9a
,
0xb5
,
0x54
,
0x0c
,
0x61
,
0xc7
,
0xe1
,
0x92
,
0xaf
,
0xc0
,
0x54
,
0x8a
,
0x42
,
0xab
,
0x64
,
0xb5
,
0x72
,
0xd5
,
0xb9
,
0x56
,
0xf7
,
0x1d
,
0x86
,
0x47
,
0xb6
,
0x42
,
0xa6
,
0x34
,
0x70
,
0xa3
,
0xe4
,
0x6a
,
0xe5
,
0xaa
,
0x77
,
0xad
,
0x1e
,
0x0b
,
0xab
,
0xf9
,
0x57
,
0x68
,
0xdc
,
0xc2
,
0xc1
,
0x5d
,
0x11
,
0x65
,
0x78
,
0x2c
,
0x64
,
0xca
,
0x19
,
0x16
,
0x52
,
0xf3
,
0x8f
,
0xa4
,
0x71
,
0x0b
,
0x06
,
0x77
,
0x79
,
0x92
,
0xc1
,
0x31
,
0x17
,
0x9a
,
0x51
,
0xb8
,
0xf7
,
0x71
,
0x60
,
0xf9
,
0xeb
,
0x3e
,
0x2d
,
0xf9
,
0x12
,
0x4c
,
0x9e
,
0xd3
,
0x76
,
0x11
,
0x98
,
0xe2
,
0xdf
,
0x87
,
0x81
,
0xe3
,
0xaf
,
0x87
,
0x78
,
0x64
,
0x4b
,
0x64
,
0xf2
,
0x1c
,
0xd5
,
0x85
,
0x63
,
0x1b
,
0xcd
,
0x1b
,
0x30
,
0x73
,
0x0b
,
0x07
,
0x9e
,
0x30
,
0xe2
,
0x15
,
0x61
,
0x1c
,
0xaa
,
0xa1
,
0x30
,
0x2e
,
0x34
,
0x6f
,
0x90
,
0x99
,
0x5b
,
0x30
,
0x08
,
0xb8
,
0xe5
,
0xaf
,
0x70
,
0x63
,
0xa4
,
0x1a
,
0x73
,
0xc2
,
0x46
,
0x35
,
0x7c
,
0xbb
,
0x6e
,
0xae
,
0x41
,
0x75
,
0x3b
,
0x52
,
0xa7
,
0x63
,
0x4a
,
0xc7
,
0x6e
,
0xcb
,
0x9d
,
0x57
,
0x23
,
0x74
,
0xe7
,
0xe6
,
0x1a
,
0xa9
,
0x6e
,
0x27
,
0xea
,
0x74
,
0x4c
,
0xe9
,
0x39
,
0x16
,
0x94
,
0xd7
,
0xa1
,
0xb6
,
0x15
,
0x86
,
0x29
,
0x6a
,
0xcd
,
0xe7
,
0xa0
,
0x22
,
0xfb
,
0x05
,
0x5b
,
0x65
,
0x41
,
0x79
,
0x9d
,
0xd4
,
0xb6
,
0xe2
,
0x58
,
0x83
,
0x31
,
0x6c
,
0x8e
,
0x54
,
0x44
,
0xbf
,
0x60
,
0x45
,
0xf6
,
0x89
,
0xac
,
0xaf
,
0x52
,
0x63
,
0xc9
,
0x5c
,
0xdf
,
0xae
,
0x9b
,
0x0f
,
0x1d
,
0xa8
,
0x1d
,
0xab
,
0x88
,
0x3e
,
0x92
,
0xf5
,
0x95
,
0xb6
,
0x8e
,
0xcc
,
0x0f
,
0xdd
,
0xb9
,
0xf9
,
0xd0
,
0x23
,
0xb5
,
0xe8
,
0xee
,
0xb6
,
0xd0
,
0xc8
,
0xff
,
0x06
,
0xd3
,
0xb1
,
0xee
,
0xde
,
0x33
,
0x83
,
0xfe
,
0x50
,
0x9a
,
0x03
,
0xd3
,
0xdd
,
0xe6
,
0x06
,
0xd8
,
0x9f
,
0xc8
,
0x74
,
0x6a
,
0xba
,
0xf7
,
0xec
,
0xa0
,
0x3f
,
0x2c
,
0xb5
,
0x97
,
0x4a
,
0x73
,
0xa0
,
0xbb
,
0x27
,
0x83
,
0x3e
,
0xfa
,
0xb5
,
0x38
,
0x5f
,
0x50
,
0x26
,
0xb1
,
0xcd
,
0xda
,
0x4b
,
0x4b
,
0x73
,
0x60
,
0xba
,
0x27
,
0x83
,
0x3e
,
0x84
,
0xb5
,
0x34
,
0x3f
,
0x60
,
0x26
,
0xee
,
0xb6
,
0xbd
,
0x82
,
0x39
,
0x37
,
0xf8
,
0x1a
,
0xd4
,
0x8d
,
0x8c
,
0x51
,
0x1b
,
0x11
,
0xf7
,
0x57
,
0xa9
,
0xe9
,
0xb6
,
0x83
,
0x82
,
0x39
,
0x17
,
0xd8
,
0x1a
,
0xa9
,
0x5b
,
0x91
,
0x82
,
0xb1
,
0x3c
,
0xed
,
0xdd
,
0xab
,
0xce
,
0xb5
,
0xaa
,
0x3f
,
0x06
,
0xf8
,
0x15
,
0x98
,
0xd6
,
0x2a
,
0x4b
,
0x03
,
0x6c
,
0x7b
,
0xaf
,
0xfa
,
0x57
,
0xbd
,
0x6b
,
0xd5
,
0x70
,
0x0c
,
0xb0
,
0x2b
,
0x64
,
0xda
,
0xa8
,
0x4c
,
0x47
,
0xd0
,
0xab
,
0x55
,
0x1b
,
0x36
,
0xb2
,
0x9b
,
0x37
,
0xa1
,
0x7e
,
0xa0
,
0xbb
,
0xfb
,
0x28
,
0x42
,
0x4c
,
0xf9
,
0x0e
,
0x56
,
0xab
,
0xce
,
0x6d
,
0x24
,
0x37
,
0x6f
,
0x92
,
0xfa
,
0x81
,
0xe9
,
0xee
,
0x03
,
0x8f
,
0x41
,
0x1f
,
0xa1
,
0x7a
,
0x2a
,
0x74
,
0x9e
,
0xd1
,
0xcc
,
0xab
,
0x33
,
0xa2
,
0x1b
,
0xf8
,
0xd6
,
0xb3
,
0xf9
,
0xb3
,
0xdf
,
0x92
,
0xea
,
0x29
,
0x37
,
0x79
,
0x46
,
0x33
,
0xaf
,
0xce
,
0x08
,
0x6f
,
0x10
,
0x3a
,
0xcb
,
0x6f
,
0x68
,
0x78
,
0x07
,
0xb7
,
0x7f
,
0x03
,
0x03
,
0xa5
,
0xae
,
0x7b
,
0x22
,
0x0d
,
0x0f
,
0x45
,
0x3c
,
0xe6
,
0xdf
,
0x49
,
0x23
,
0x38
,
0xb8
,
0xfd
,
0x0b
,
0x18
,
0x30
,
0x75
,
0xd3
,
0xe3
,
0x3a
,
0x3e
,
0xe4
,
0xac
,
0xd8
,
0x18
,
0x58
,
0xff
,
0xa4
,
0x0a
,
0xf5
,
0x51
,
0x7b
,
0xf0
,
0x19
,
0xa8
,
0x75
,
0xb2
,
0x20
,
0xe9
,
0xb0
,
0x63
,
0x63
,
0x60
,
0xfd
,
0xc3
,
0x2a
,
0xa9
,
0x8f
,
0xc6
,
0x83
,
0xcd
,
0x90
,
0x5a
,
0x27
,
0x40
,
0xad
,
0xd9
,
0x04
,
0x5f
,
0x84
,
0xf9
,
0x3b
,
0x09
,
0x5e
,
0xf4
,
0x31
,
0x30
,
0x18
,
0x5a
,
0x1f
,
0x8b
,
0x22
,
0x30
,
0x86
,
0x4e
,
0xb0
,
0x45
,
0x32
,
0x7f
,
0x47
,
0xc2
,
0x45
,
0x1f
,
0x22
,
0x0b
,
0xb1
,
0xe6
,
0xf0
,
0x05
,
0x98
,
0x6d
,
0xa9
,
0x24
,
0xc1
,
0xc0
,
0xec
,
0x0a
,
0x19
,
0x61
,
0xc8
,
0x2a
,
0x7c
,
0xb3
,
0xa1
,
0x1e
,
0x5b
,
0x20
,
0xb3
,
0x2d
,
0x25
,
0x25
,
0x44
,
0x76
,
0x97
,
0x8b
,
0x04
,
0x62
,
0x5a
,
0x09
,
0xd8
,
0x31
,
0xa6
,
0xb1
,
0xd4
,
0x5a
,
0xaa
,
0xc4
,
0xc3
,
0x44
,
0x62
,
0xc8
,
0x5c
,
0x7e
,
0x09
,
0x61
,
0x4b
,
0x84
,
0x1e
,
0x83
,
0x4e
,
0x85
,
0x31
,
0x42
,
0xc9
,
0x00
,
0xa4
,
0x80
,
0x98
,
0xfa
,
0xec
,
0x16
,
0x5b
,
0x2a
,
0x8a
,
0x30
,
0x30
,
0x52
,
0x25
,
0x87
,
0xca
,
0xec
,
0x5c
,
0x48
,
0x6d
,
0x34
,
0xab
,
0x12
,
0x59
,
0x6c
,
0xa9
,
0x24
,
0x81
,
0xc8
,
0x0a
,
0x25
,
0x0f
,
0x95
,
0xdd
,
0xb9
,
0x10
,
0xc6
,
0x1a
,
0x12
,
0x6d
,
0x3b
,
0x8a
,
0xb0
,
0x2b
,
0xa2
,
0xad
,
0xb4
,
0x9b
,
0xc5
,
0x98
,
0x18
,
0x36
,
0x49
,
0x1c
,
0x5a
,
0x45
,
0xda
,
0x76
,
0x92
,
0x40
,
0x97
,
0x27
,
0x5b
,
0xba
,
0x9b
,
0xa5
,
0x20
,
0x2d
,
0x9d
,
0x44
,
0x05
,
0xe8
,
0xc9
,
0x18
,
0x13
,
0x62
,
0x62
,
0xb5
,
0x12
,
0xda
,
0x4e
,
0x42
,
0xbc
,
0xa0
,
0xfa
,
0xb0
,
0x8e
,
0x02
,
0x0c
,
0x44
,
0x0a
,
0x12
,
0x99
,
0x68
,
0xad
,
0x84
,
0xb6
,
0x65
,
0x0c
,
0x17
,
0xd8
,
0x1f
,
0x69
,
0x7e
,
0x19
,
0x96
,
0x0b
,
0xb4
,
0x74
,
0x80
,
0x88
,
0x91
,
0xd5
,
0xf9
,
0x3c
,
0xcc
,
0x14
,
0x5b
,
0x3a
,
0xcd
,
0x2e
,
0x93
,
0xe5
,
0x02
,
0x2d
,
0x05
,
0xe0
,
0x29
,
0xd0
,
0x3a
,
0x9b
,
0x27
,
0x33
,
0x85
,
0x27
,
0x47
,
0xc7
,
0xb7
,
0x18
,
0x94
,
0x18
,
0x7c
,
0xf5
,
0xc0
,
0xc7
,
0x40
,
0xa5
,
0x21
,
0x9b
,
0x29
,
0xea
,
0xe4
,
0xe8
,
0xf8
,
0x16
,
0x25
,
0x25
,
0x86
,
0x50
,
0x3d
,
0x08
,
0x21
,
0x52
,
0x3a
,
0xa6
,
0x33
,
0xa5
,
0x70
,
0x17
,
0x03
,
0xa3
,
0xd2
,
0xb6
,
0xc7
,
0x1a
,
0x94
,
0x70
,
0x01
,
0x76
,
0x50
,
0xa4
,
0x41
,
0xa5
,
0x14
,
0xee
,
0x42
,
0x64
,
0x95
,
0x6e
,
0x07
,
0xb4
,
0x81
,
0x09
,
0x17
,
0x60
,
0x07
,
0xb8
,
0x8e
,
0xcf
,
0x47
,
0x9d
,
0x45
,
0x86
,
0xcd
,
0x72
,
0x06
,
0x8d
,
0x5d
,
0x19
,
0xe1
,
0xa1
,
0x32
,
0xbb
,
0x2a
,
0x7a
,
0x21
,
0x98
,
0x2c
,
0xb1
,
0x74
,
0x96
,
0x51
,
0xd2
,
0xd8
,
0x15
,
0x09
,
0x1c
,
0x2a
,
0xbb
,
0xab
,
0x4b
,
0x42
,
0x36
,
0xc7
,
0xe7
,
0x00
,
0x0e
,
0xd0
,
0x88
,
0x42
,
0x81
,
0x79
,
0x3a
,
0xb6
,
0x25
,
0x82
,
0x32
,
0x19
,
0xd3
,
0x39
,
0x36
,
0x47
,
0xc8
,
0x01
,
0x58
,
0x5e
,
0x54
,
0x60
,
0x1e
,
0xc3
,
0xb6
,
0x78
,
0x1e
,
0x16
,
0x00
,
0xe3
,
0x2b
,
0xc0
,
0x5b
,
0x22
,
0x49
,
0x94
,
0x69
,
0xa5
,
0x28
,
0x0c
,
0xee
,
0xaa
,
0xd4
,
0x83
,
0x02
,
0xa0
,
0x6c
,
0x85
,
0xb0
,
0x16
,
0x97
,
0x52
,
0xd9
,
0x96
,
0x06
,
0x6e
,
0x61
,
0x57
,
0x28
,
0xc4
,
0x94
,
0x2d
,
0x50
,
0x3a
,
0x2f
,
0xe0
,
0x32
,
0x42
,
0xc6
,
0xc7
,
0xde
,
0x1e
,
0x46
,
0x38
,
0x25
,
0x31
,
0x68
,
0xba
,
0x80
,
0xe9
,
0xbc
,
0x80
,
0x8b
,
0x04
,
0x28
,
0x1b
,
0x5b
,
0x07
,
0x90
,
0xc0
,
0xf2
,
0x5e
,
0x1c
,
0x7b
,
0x17
,
0x38
,
0x79
,
0x2f
,
0x51
,
0xf2
,
0xdb
,
0x99
,
0x8c
,
0x42
,
0x2b
,
0x49
,
0xc8
,
0x7a
,
0x71
,
0x6c
,
0x5d
,
0xe0
,
0x68
,
0xbd
,
0x84
,
0xc9
,
0x6f
,
0x67
,
0x22
,
0x89
,
0x5d
,
0x49
,
0x5e
,
0x96
,
0x65
,
0xca
,
0xb1
,
0x48
,
0xfe
,
0xf0
,
0x76
,
0xbb
,
0x73
,
0xc2
,
0x56
,
0xf8
,
0x32
,
0x2c
,
0xf2
,
0xb6
,
0x2c
,
0x63
,
0x8e
,
0x45
,
0xf2
,
0x87
,
0xb7
,
0xdb
,
0x9d
,
0x13
,
0xba
,
0xc2
,
0x96
,
0xc9
,
0x14
,
0xc8
,
0x01
,
0x9a
,
0x54
,
0x06
,
0x56
,
0xbc
,
0x4b
,
0x94
,
0xea
,
0x51
,
0x66
,
0x8e
,
0xce
,
0x0e
,
0x42
,
0x81
,
0x1c
,
0x80
,
0xd5
,
0x22
,
0x72
,
0xc5
,
0xbb
,
0x84
,
0xa9
,
0x1e
,
0x65
,
0xf6
,
0xe8
,
0xec
,
0x30
,
0x56
,
0xe9
,
0x80
,
0xad
,
0x52
,
0x41
,
0x2d
,
0xd3
,
0xb0
,
0x44
,
0xec
,
0x32
,
0x9d
,
0xb0
,
0x13
,
0x00
,
0x52
,
0xa5
,
0x07
,
0x74
,
0x15
,
0x1b
,
0xea
,
0x98
,
0x86
,
0x2d
,
0xa2
,
0x97
,
0x31
,
0xc2
,
0x4e
,
0xf7
,
0xcd
,
0x60
,
0x2c
,
0x2f
,
0xbb
,
0xc2
,
0x39
,
0xcc
,
0x7a
,
0x9e
,
0x8f
,
0xff
,
0xcd
,
0x50
,
0x1b
,
0xda
,
0xb7
,
0x83
,
0x71
,
0x79
,
0xe9
,
0x15
,
0xc6
,
0xc8
,
0x6c
,
0x10
,
0x84
,
0xf0
,
0xcf
,
0x0c
,
0x8c
,
0x5f
,
0x04
,
0xc8
,
0xbe
,
0xab
,
0xad
,
0xff
,
0x13
,
0xc0
,
0xc6
,
0xd2
,
0x40
,
0x42
,
0xce
,
0x61
,
0x6e
,
0x0d
,
0x79
,
0x04
,
0xf4
,
0x9b
,
0xda
,
0xfa
,
0x5f
,
0x09
,
0x71
,
0xbe
,
0xb8
,
0x90
,
0x80
,
0x31
,
0x32
,
0x6c
,
0x1d
,
0xaa
,
0x04
,
0xd9
,
0x04
,
0x6f
,
0xc0
,
0xf4
,
0x9d
,
0x44
,
0x6a
,
0x9d
,
0x61
,
0xc8
,
0x1c
,
0x37
,
0x96
,
0x0e
,
0x95
,
0x04
,
0x3a
,
0xc1
,
0x1a
,
0x64
,
0xfa
,
0x8e
,
0x14
,
0xc6
,
0x64
,
0x10
,
0x53
,
0xd2
,
0xad
,
0x9d
,
0x1c
,
0xa7
,
0xaa
,
0x4b
,
0x4f
,
0x9a
,
0x55
,
0x68
,
0x77
,
0x57
,
0x26
,
0x52
,
0xf7
,
0x0f
,
0xeb
,
0xd6
,
0x96
,
0xc7
,
0x5a
,
0x75
,
0xf1
,
0x49
,
0xd3
,
0x0a
,
0x6a
,
0x77
,
0x85
,
0x14
,
0xa6
,
0x6c
,
0xc7
,
0x00
,
0x4c
,
0x15
,
0x02
,
0x56
,
0xd7
,
0x35
,
0x34
,
0x3a
,
0xd8
,
0xa5
,
0xe6
,
0xc8
,
0xb9
,
0xe7
,
0x26
,
0x86
,
0x90
,
0xa9
,
0xa2
,
0x80
,
0xd5
,
0x75
,
0x43
,
0x1a
,
0x1d
,
0xe8
,
0xe2
,
0x70
,
0xe4
,
0x97
,
0x80
,
0x95
,
0xed
,
0x31
,
0xfb
,
0x28
,
0x6d
,
0x87
,
0x9a
,
0x77
,
0x2f
,
0x55
,
0x0f
,
0x64
,
0xd2
,
0xdc
,
0x4b
,
0x84
,
0x96
,
0xe5
,
0x31
,
0xfb
,
0x28
,
0x6d
,
0x0f
,
0x87
,
0x77
,
0x4f
,
0xab
,
0x07
,
0x42
,
0x65
,
0x15
,
0x22
,
0xeb
,
0xa0
,
0x88
,
0x2c
,
0xf1
,
0x0c
,
0xd4
,
0x76
,
0xa3
,
0xcc
,
0x9e
,
0x52
,
0xb5
,
0x76
,
0x69
,
0x05
,
0xc9
,
0x3a
,
0xc0
,
0x13
,
0x47
,
0x3c
,
0x43
,
0x6a
,
0xbb
,
0x49
,
0xe6
,
0xa2
,
0x54
,
0x67
,
0x92
,
0x41
,
0x6e
,
0x93
,
0xb4
,
0xe5
,
0xa5
,
0xaa
,
0xdf
,
0xc7
,
0x90
,
0x4d
,
0xad
,
0x3f
,
0x9d
,
0x5d
,
0x4c
,
0x14
,
0xd0
,
0x6c
,
0x12
,
0x55
,
0x81
,
0x56
,
0xfd
,
0x3e
,
0xc4
,
0x74
,
0x6a
,
0xfd
,
0x7f
,
0xb6
,
0xf3
,
0xc3
,
0x8e
,
0x81
,
0x59
,
0xa8
,
0xdf
,
0x49
,
0x42
,
0x3c
,
0x93
,
0x09
,
0x86
,
0x6c
,
0xc2
,
0x75
,
0xb7
,
0x3f
,
0xdc
,
0x1a
,
0x98
,
0x25
,
0xf5
,
0x3b
,
0x32
,
0x86
,
0x33
,
0x21
,
0x21
,
0xa6
,
0x13
,
0x96
,
0xc2
,
0x96
,
0xac
,
0xa4
,
0x49
,
0x48
,
0x37
,
0xa6
,
0xe8
,
0x12
,
0x86
,
0xa4
,
0xe7
,
0xbe
,
0xd0
,
0xae
,
0x15
,
0xae
,
0x65
,
0xa5
,
0x9a
,
0xc4
,
0x78
,
0x63
,
0xf4
,
0x2e
,
0x61
,
0x80
,
0xf5
,
0xdc
,
0xe7
,
0x25
,
0xe8
,
0x8c
,
0xea
,
0xeb
,
0xa1
,
0x0e
,
0x52
,
0x79
,
0x5a
,
0x0e
,
0xef
,
0x92
,
0xce
,
0x9d
,
0x9e
,
0xa6
,
0x04
,
0x9d
,
0x61
,
0x7f
,
0x03
,
0x30
,
0x91
,
0x16
,
0xa7
,
0x65
,
0xf7
,
0x2e
,
0xd6
,
0xb9
,
0xd3
,
0x7a
,
0x30
,
0xc6
,
0x34
,
0xeb
,
0xd1
,
0x49
,
0x7b
,
0x68
,
0x3a
,
0x03
,
0x6d
,
0x30
,
0x6e
,
0xa9
,
0xe4
,
0x53
,
0x0f
,
0xc6
,
0x98
,
0xa1
,
0x3d
,
0x8c
,
0xb4
,
0x07
,
0xb6
,
0x33
,
0x30
,
0x16
,
0xd2
,
0x96
,
0x92
,
0x4c
,
0x76
,
0x35
,
0x93
,
0x74
,
0xd2
,
0x6d
,
0x25
,
0xc2
,
0x52
,
0xf8
,
0x7f
,
0xa8
,
0xc2
,
0x3e
,
0x46
,
0x67
,
0xa2
,
0x6b
,
0xa8
,
0xc0
,
0x48
,
0xb7
,
0x15
,
0x8f
,
0x4b
,
0xee
,
0xff
,
0xc0
,
0x0e
,
0x87
,
0x90
,
0x28
,
0x74
,
0x99
,
0xf5
,
0xbe
,
0x6d
,
0x46
,
0x9b
,
0xea
,
0x56
,
0x24
,
0x85
,
0x66
,
0x11
,
0x5d
,
0x85
,
0x00
,
0x37
,
0x65
,
0xd6
,
0xfb
,
0x6e
,
0x18
,
0x5d
,
0xaa
,
0x5b
,
0x89
,
0xe0
,
0x86
,
0x26
,
0x78
,
0x15
,
0xb2
,
0xcc
,
0xcd
,
0x98
,
0x8a
,
0xb0
,
0x15
,
0x19
,
0x4c
,
0x73
,
0x3b
,
0xe1
,
0x4b
,
0x30
,
0x9f
,
0xfb
,
0xcc
,
0x32
,
0x17
,
0x53
,
0x6c
,
0xc2
,
0x56
,
0x62
,
0x41
,
0xe7
,
0xb2
,
0x64
,
0x4b
,
0x64
,
0x3e
,
0xb7
,
0x1f
,
0x8b
,
0xd4
,
0x48
,
0x4b
,
0xf2
,
0xa9
,
0x63
,
0xcb
,
0x9d
,
0xaa
,
0xfe
,
0x18
,
0xfb
,
0x8c
,
0xde
,
0x3f
,
0xe6
,
0xda
,
0x0a
,
0x47
,
0xf2
,
0x91
,
0xe7
,
0xda
,
0xad
,
0x55
,
0x7f
,
0x8c
,
0x7d
,
0x8c
,
0x6f
,
0x7e
,
0x63
,
0x5f
,
0xe8
,
0x31
,
0xf4
,
0xb9
,
0xc3
,
0x57
,
0x60
,
0x61
,
0x78
,
0xb5
,
0x31
,
0xfe
,
0x85
,
0xbf
,
0xb1
,
0xcf
,
0xcd
,
0x18
,
0xfa
,
0xc4
,
0x63
,
0x2b
,
0x64
,
0x61
,
0x78
,
0xb5
,
0x31
,
0xfe
,
0xa9
,
0xc3
,
0x17
,
0x61
,
0x8e
,
0xae
,
0x36
,
0xc2
,
0x34
,
0xfb
,
0xd2
,
0x82
,
0x74
,
0x89
,
0x12
,
0xf8
,
0x95
,
0xc7
,
0x16
,
0xc9
,
0x1c
,
0x5e
,
0x6d
,
0x84
,
0x19
,
0xfa
,
0x99
,
0x03
,
0xf1
,
0x12
,
0x25
,
0xf0
,
0x73
,
0x65
,
0x28
,
0x6e
,
0x51
,
0xc2
,
0xbf
,
0xb6
,
0x87
,
0x11
,
0x43
,
0x51
,
0x75
,
0xcd
,
0x1e
,
0x39
,
0x94
,
0xc7
,
0x50
,
0xdc
,
0xa2
,
0x84
,
0x7f
,
0xe1
,
0x82
,
0x21
,
0x43
,
0xd1
,
0x75
,
0x43
,
0x1f
,
0x79
,
0x98
,
0xe9
,
0xf0
,
0xb0
,
0x02
,
0x66
,
0x8f
,
0xad
,
0x23
,
0xb1
,
0x8e
,
0x1c
,
0x9f
,
0x58
,
0xc7
,
0x82
,
0x73
,
0xe9
,
0x30
,
0x58
,
0x01
,
0xd3
,
0xc7
,
0xce
,
0x10
,
0x59
,
0x47
,
0x86
,
0x4f
,
0x9c
,
0x61
,
0xc1
,
0x39
,
0x84
,
0x3e
,
0xb5
,
0xe8
,
0xbe
,
0x48
,
0x42
,
0x75
,
0x76
,
0x36
,
0x42
,
0x9f
,
0x39
,
0x7c
,
0x15
,
0x16
,
0x42
,
0x9f
,
0x3a
,
0x74
,
0x9f
,
0xcb
,
0x58
,
0x9d
,
0x9d
,
0x8d
,
0xd0
,
0x67
,
0x1e
,
0x5b
,
0x25
,
0x8b
,
0x29
,
0x7c
,
0x5b
,
0x44
,
0x22
,
0x09
,
0xc6
,
0xfe
,
0xcf
,
0x1d
,
0xce
,
0x86
,
0x42
,
0xda
,
0xae
,
0x66
,
0xe8
,
0xbe
,
0xcd
,
0x13
,
0x2e
,
0xa3
,
0xb1
,
0xfd
,
0x73
,
0x8f
,
0xd1
,
0x61
,
0x21
,
0xdd
,
0x54
,
0xd3
,
0x6f
,
0x54
,
0xac
,
0x28
,
0x45
,
0x02
,
0x39
,
0xf6
,
0x66
,
0x85
,
0xcf
,
0xe5
,
0xea
,
0xe6
,
0xf6
,
0x5b
,
0xff
,
0x57
,
0x5c
,
0x51
,
0x8a
,
0x04
,
0x72
,
0xec
,
0xb5
,
0x0a
,
0x9b
,
0xcb
,
0xab
,
0x9b
,
0xcb
,
0xaf
,
0x15
,
0x3e
,
0x03
,
0x53
,
0xed
,
0x44
,
0x63
,
0x6a
,
0xd8
,
0x6b
,
0xd4
,
0x79
,
0x53
,
0xf9
,
0xdb
,
0x65
,
0x57
,
0xd8
,
0x0c
,
0x99
,
0x6a
,
0x4b
,
0x03
,
0xda
,
0xd2
,
0xff
,
0xe0
,
0xe4
,
0x4d
,
0xe5
,
0x6f
,
0x97
,
0xaf
,
0x53
,
0x7f
,
0x4f
,
0xda
,
0xce
,
0x63
,
0x0f
,
0xed
,
0x46
,
0x3e
,
0x65
,
0xd8
,
0xf7
,
0xae
,
0xbd
,
0xfe
,
0x17
,
0xe7
,
0x7b
,
0xd2
,
0x4d
,
0x1e
,
0x7d
,
0xe8
,
0x14
,
0xf9
,
0x96
,
0xa1
,
0xdf
,
0xfa
,
0xee
,
0x6a
,
0x79
,
0xe4
,
0xfc
,
0xe0
,
0xd2
,
0x49
,
0x7b
,
0x68
,
0xc6
,
0xcf
,
0x89
,
0xfd
,
0xe8
,
0xf2
,
0x2b
,
0xaa
,
0xe5
,
0x95
,
0xf3
,
0x9d
,
0x8f
,
0x91
,
0xf6
,
0xc0
,
0x8e
,
0x9f
,
0x13
,
0xfd
,
0xde
,
0x67
,
0x57
,
0xb0
,
0x3c
,
0xc4
,
0xec
,
0x00
,
0x18
,
0x3d
,
0xa4
,
0x9f
,
0x5c
,
0xbe
,
0x06
,
0x97
,
0xf6
,
0xd0
,
0x8c
,
0xc8
,
0xf2
,
0x10
,
0x73
,
0x0b
,
0x60
,
0xf4
,
0x90
,
0x7e
,
0xf0
,
0xd9
,
0x1a
,
0xb9
,
0xb4
,
0x07
,
0x76
,
0xfb
,
0x80
,
0x82
,
0xa4
,
0x36
,
0x32
,
0xd0
,
0xec
,
0x67
,
0x97
,
0xff
,
0x0e
,
0x56
,
0xf6
,
0xd0
,
0x8c
,
0x3c
,
0x07
,
0xe8
,
0x24
,
0x8c
,
0x15
,
0x91
,
0xa1
,
0x3f
,
0xfa
,
0xec
,
0x57
,
0x64
,
0x65
,
0x0f
,
0xec
,
0xf4
,
0x2d
,
0x6d
,
0xfe
,
0xe2
,
0xf2
,
0x59
,
0x98
,
0xf6
,
0x69
,
0x42
,
0xe0
,
0x39
,
0xb2
,
0x47
,
0x2e
,
0xa8
,
0xbe
,
0x25
,
0xe5
,
0x4f
,
0x3e
,
0x9b
,
0x25
,
0xd3
,
0x21
,
0x6e
,
0x08
,
0x38
,
0x07
,
0xfa
,
0xc8
,
0x15
,
0x69
,
0x68
,
0x16
,
0xe9
,
0x3c
,
0x76
,
0x49
,
0xba
,
0x7f
,
0x08
,
0x13
,
0xf4
,
0xbc
,
0xb8
,
0xd5
,
0xc7
,
0x26
,
0x0d
,
0xc5
,
0x22
,
0x9d
,
0xc7
,
0x3e
,
0x96
,
0xee
,
0x2f
,
0xdc
,
0x46
,
0xbd
,
0x20
,
0x6d
,
0x13
,
0x49
,
0x82
,
0x91
,
0x66
,
0x4f
,
0x5c
,
0xbe
,
0x0c
,
0xcc
,
0xc7
,
0x58
,
0x9d
,
0x63
,
0x09
,
0x7e
,
0xf5
,
0xb8
,
0x94
,
0x90
,
0x18
,
0xfa
,
0xc4
,
0x67
,
0xcb
,
0x84
,
0x86
,
0x90
,
0xaa
,
0x73
,
0x28
,
0xc1
,
0x4a
,
0x93
,
0x9f
,
0x5b
,
0xe7
,
0xbf
,
0x67
,
0x98
,
0x0e
,
0x46
,
0x1b
,
0xcf
,
0x5c
,
0x92
,
0x3a
,
0xf7
,
0x4f
,
0x71
,
0xf3
,
0x33
,
0x67
,
0xfc
,
0xe7
,
0x0c
,
0xf4
,
0x60
,
0xa4
,
0x78
,
0xe6
,
0x63
,
0xa9
,
0x73
,
0x7f
,
0x71
,
0xe7
,
0xb9
,
0xcb
,
0x7f
,
0x0f
,
0xab
,
0xf9
,
0x6b
,
0x1d
,
0xea
,
0x4f
,
0x9b
,
0x5d
,
0x6c
,
0xfb
,
0x17
,
0x35
,
0xcf
,
0x7d
,
0xf6
,
0x6b
,
0xb2
,
0x9a
,
0xbf
,
0xd6
,
0x61
,
0xfd
,
0x51
,
0xd9
,
0x85
,
0x27
,
0x67
,
0x8a
,
0xfd
,
0xaf
,
0x3a
,
0x62
,
0xf4
,
0x30
,
0x32
,
0x62
,
0x14
,
0xf7
,
0xff
,
0x2a
,
0x95
,
0xb6
,
0x3c
,
0x53
,
0xf4
,
0x5f
,
0xd5
,
0x11
,
0x63
,
0x00
,
0x89
,
0xe5
,
0x23
,
0xbf
,
0x7f
,
0x57
,
0xb1
,
0xa8
,
0x88
,
0xb0
,
0xae
,
0xdf
,
0x54
,
0xf9
,
0x3c
,
0x40
,
0xfe
,
0x76
,
0x2c
,
0xf0
,
0x6d
,
0x95
,
0xae
,
0x45
,
0x85
,
0x87
,
0x33
,
0xfd
,
0xb2
,
0xca
,
0xe6
,
0x09
,
0xc9
,
0xdf
,
0x8e
,
0x03
,
0xbe
,
0xaa
,
0x62
,
0x77
,
0x22
,
0x63
,
0x3c
,
0x91
,
0xc1
,
0x7d
,
0xf6
,
0x76
,
0x9d
,
0xae
,
0x67
,
0x4f
,
0x3f
,
0x54
,
0x21
,
0xea
,
0x7b
,
0x60
,
0x71
,
0xf5
,
0x9f
,
0x83
,
0x1e
,
0x38
,
0xf4
,
0xeb
,
0x2a
,
0x5e
,
0xfa
,
0x44
,
0xa4
,
0x92
,
0x0e
,
0x9a
,
0xbd
,
0x53
,
0xa7
,
0x1a
,
0x52
,
0x0f
,
0xe4
,
0x35
,
0x7c
,
0xd7
,
0xda
,
0xc5
,
0xa4
,
0x70
,
0x22
,
0xa2
,
0xfb
,
0xf4
,
0x8d
,
0x3a
,
0x5e
,
0xda
,
0xe5
,
0x74
,
0xa8
,
0x62
,
0xc0
,
0xea
,
0x18
,
0x6b
,
0x7b
,
0xec
,
0x3d
,
0xfa
,
0xac
,
0x40
,
0x61
,
0x9f
,
0x74
,
0x8e
,
0xd8
,
0xfb
,
0x75
,
0xd2
,
0x63
,
0xfa
,
0x66
,
0x1d
,
0x3b
,
0x8b
,
0x93
,
0x91
,
0x77
,
0xf6
,
0x2d
,
0x27
,
0x17
,
0xfb
,
0xaf
,
0x1d
,
0xd0
,
0x2b
,
0x8a
,
0x54
,
0x20
,
0xcc
,
0xa8
,
0x13
,
0x3f
,
0xa8
,
0x53
,
0x2b
,
0x97
,
0x86
,
0x54
,
0xa1
,
0xf0
,
0xb7
,
0xf1
,
0x63
,
0x43
,
0x0a
,
0xf9
,
0xa4
,
0x73
,
0x44
,
0xdf
,
0xa9
,
0x63
,
0xa8
,
0xad
,
0x24
,
0x51
,
0x87
,
0x75
,
0xd2
,
0xa9
,
0xc0
,
0x6d
,
0xfd
,
0x3d
,
0x1a
,
0x5e
,
0x1f
,
0x59
,
0x56
,
0xfa
,
0x5b
,
0xa2
,
0x11
,
0xb7
,
0xa3
,
0xf9
,
0x7c
,
0xb7
,
0x8e
,
0x03
,
0x5e
,
0x5a
,
0x5d
,
0x45
,
0xdd
,
0xdf
,
0xab
,
0x63
,
0x4c
,
0x4e
,
0x0c
,
0xfb
,
0xb8
,
0xbe
,
0xde
,
0x84
,
0x9a
,
0xa7
,
0x23
,
0x3b
,
0x7e
,
0x6a
,
0xe0
,
0x7a
,
0xf5
,
0x0a
,
0xdc
,
0x4d
,
0x45
,
0x80
,
0x2b
,
0xed
,
0x7d
,
0xc7
,
0x8a
,
0xff
,
0x50
,
0x98
,
0xc9
,
0x89
,
0x3a
,
0x62
,
0x13
,
0xf4
,
0x5a
,
0xb7
,
0x95
,
0x8a
,
0x76
,
0x2e
,
0xfa
,
0xe9
,
0xdd
,
0x3f
,
0x31
,
0x67
,
0xa5
,
0x1f
,
0xd4
,
0xd7
,
0x9b
,
0xa4
,
0x16
,
0x98
,
0xc4
,
0x2d
,
0xa5
,
0x1a
,
0xf1
,
0x03
,
0x93
,
0xd0
,
0x7d
,
0x1b
,
0xe6
,
0x5b
,
0x2a
,
0xee
,
0x8b
,
0x51
,
0x95
,
0xed
,
0xc4
,
0xc9
,
0x47
,
0x15
,
0x86
,
0x79
,
0x09
,
0x7c
,
0xc3
,
0xdb
,
0x4a
,
0x25
,
0x3b
,
0x17
,
0x7d
,
0x7d
,
0xf7
,
0x77
,
0xd4
,
0x5b
,
0xdf
,
0x26
,
0xaf
,
0x4c
,
0xd0
,
0x93
,
0xdf
,
0xb9
,
0xc0
,
0x20
,
0x33
,
0x34
,
0xe5
,
0x1c
,
0x32
,
0x29
,
0x88
,
0x1a
,
0xf3
,
0x2d
,
0x95
,
0xf6
,
0xf9
,
0xa8
,
0xf7
,
0x6e
,
0x0f
,
0xe5
,
0x0b
,
0x0c
,
0xe2
,
0x7c
,
0x82
,
0x26
,
0x31
,
0x64
,
0x95
,
0xed
,
0xbf
,
0xfc
,
0xeb
,
0x46
,
0x57
,
0x9a
,
0x5e
,
0x76
,
0x4a
,
0x3f
,
0x0c
,
0x9b
,
0x70
,
0x11
,
0xec
,
0x5c
,
0x40
,
0x94
,
0x59
,
0xdc
,
0x7d
,
0x1e
,
0x8a
,
0xe8
,
0x84
,
0xe3
,
0x19
,
0xd3
,
0xf9
,
0x1f
,
0xc4
,
0x75
,
0xa9
,
0x8a
,
0xd5
,
0xa6
,
0x4c
,
0x0c
,
0xa6
,
0x89
,
0x88
,
0x36
,
0xed
,
0x4f
,
0xca
,
0xf6
,
0x1f
,
0xfe
,
0x76
,
0xa3
,
0x2b
,
0x6c
,
0x2f
,
0x3b
,
0xc5
,
0xdf
,
0x88
,
0xcd
,
0xfc
,
0xbf
,
0xc5
,
0x66
,
0xfe
,
0x53
,
0xd1
,
0x3f
,
0x3d
,
0x9d
,
0xb2
,
0xf6
,
0x8d
,
0x5f
,
0x03
,
0x00
,
0x00
,
0xff
,
0xe2
,
0xba
,
0x50
,
0xc5
,
0x69
,
0x53
,
0x48
,
0x0b
,
0x5a
,
0xf2
,
0x64
,
0xd3
,
0xfd
,
0x6a
,
0x6c
,
0xe6
,
0xff
,
0x87
,
0x06
,
0x40
,
0xd1
,
0xa5
,
0x0a
,
0x00
,
0x00
,
0xbf
,
0x1a
,
0xfd
,
0xd3
,
0xd3
,
0x29
,
0x27
,
0xdf
,
0xf8
,
0x39
,
0x00
,
0x00
,
0xff
,
0xff
,
0xe5
,
0x98
,
0xc8
,
0xe4
,
0xbb
,
0x0a
,
0x00
,
0x00
,
}
}
internal/querycoord/task.go
浏览文件 @
6f8ea8cc
...
@@ -320,6 +320,14 @@ func (lct *loadCollectionTask) execute(ctx context.Context) error {
...
@@ -320,6 +320,14 @@ func (lct *loadCollectionTask) execute(ctx context.Context) error {
defer
cancel2
()
defer
cancel2
()
showPartitionResponse
,
err
:=
lct
.
rootCoord
.
ShowPartitions
(
ctx2
,
showPartitionRequest
)
showPartitionResponse
,
err
:=
lct
.
rootCoord
.
ShowPartitions
(
ctx2
,
showPartitionRequest
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Error
(
"loadCollectionTask: showPartition failed"
,
zap
.
Int64
(
"collectionID"
,
collectionID
),
zap
.
Error
(
err
))
lct
.
setResultInfo
(
err
)
return
err
}
if
showPartitionResponse
.
Status
.
ErrorCode
!=
commonpb
.
ErrorCode_Success
{
err
=
errors
.
New
(
showPartitionResponse
.
Status
.
Reason
)
log
.
Error
(
"loadCollectionTask: showPartition failed"
,
zap
.
Int64
(
"collectionID"
,
collectionID
),
zap
.
Error
(
err
))
lct
.
setResultInfo
(
err
)
lct
.
setResultInfo
(
err
)
return
err
return
err
}
}
...
@@ -364,22 +372,14 @@ func (lct *loadCollectionTask) execute(ctx context.Context) error {
...
@@ -364,22 +372,14 @@ func (lct *loadCollectionTask) execute(ctx context.Context) error {
segmentsToLoad
:=
make
([]
UniqueID
,
0
)
segmentsToLoad
:=
make
([]
UniqueID
,
0
)
var
watchDeltaChannels
[]
*
datapb
.
VchannelInfo
var
watchDeltaChannels
[]
*
datapb
.
VchannelInfo
for
_
,
partitionID
:=
range
toLoadPartitionIDs
{
for
_
,
partitionID
:=
range
toLoadPartitionIDs
{
getRecoveryInfoRequest
:=
&
datapb
.
GetRecoveryInfoRequest
{
dmChannelInfos
,
binlogs
,
err
:=
getRecoveryInfo
(
lct
.
ctx
,
lct
.
dataCoord
,
collectionID
,
partitionID
)
Base
:
lct
.
Base
,
CollectionID
:
collectionID
,
PartitionID
:
partitionID
,
}
recoveryInfo
,
err
:=
func
()
(
*
datapb
.
GetRecoveryInfoResponse
,
error
)
{
ctx2
,
cancel2
:=
context
.
WithTimeout
(
ctx
,
timeoutForRPC
)
defer
cancel2
()
return
lct
.
dataCoord
.
GetRecoveryInfo
(
ctx2
,
getRecoveryInfoRequest
)
}()
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Error
(
"loadCollectionTask: getRecoveryInfo failed"
,
zap
.
Int64
(
"collectionID"
,
collectionID
),
zap
.
Int64
(
"partitionID"
,
partitionID
),
zap
.
Error
(
err
))
lct
.
setResultInfo
(
err
)
lct
.
setResultInfo
(
err
)
return
err
return
err
}
}
for
_
,
segmentBingLog
:=
range
recoveryInfo
.
B
inlogs
{
for
_
,
segmentBingLog
:=
range
b
inlogs
{
segmentID
:=
segmentBingLog
.
SegmentID
segmentID
:=
segmentBingLog
.
SegmentID
segmentLoadInfo
:=
&
querypb
.
SegmentLoadInfo
{
segmentLoadInfo
:=
&
querypb
.
SegmentLoadInfo
{
SegmentID
:
segmentID
,
SegmentID
:
segmentID
,
...
@@ -415,7 +415,7 @@ func (lct *loadCollectionTask) execute(ctx context.Context) error {
...
@@ -415,7 +415,7 @@ func (lct *loadCollectionTask) execute(ctx context.Context) error {
loadSegmentReqs
=
append
(
loadSegmentReqs
,
loadSegmentReq
)
loadSegmentReqs
=
append
(
loadSegmentReqs
,
loadSegmentReq
)
}
}
for
_
,
info
:=
range
recoveryInfo
.
Channel
s
{
for
_
,
info
:=
range
dmChannelInfo
s
{
deltaChannel
,
err
:=
generateWatchDeltaChannelInfo
(
info
)
deltaChannel
,
err
:=
generateWatchDeltaChannelInfo
(
info
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
@@ -423,7 +423,7 @@ func (lct *loadCollectionTask) execute(ctx context.Context) error {
...
@@ -423,7 +423,7 @@ func (lct *loadCollectionTask) execute(ctx context.Context) error {
watchDeltaChannels
=
append
(
watchDeltaChannels
,
deltaChannel
)
watchDeltaChannels
=
append
(
watchDeltaChannels
,
deltaChannel
)
}
}
for
_
,
info
:=
range
recoveryInfo
.
Channel
s
{
for
_
,
info
:=
range
dmChannelInfo
s
{
channel
:=
info
.
ChannelName
channel
:=
info
.
ChannelName
if
!
watchPartition
{
if
!
watchPartition
{
merged
:=
false
merged
:=
false
...
@@ -598,9 +598,14 @@ func (rct *releaseCollectionTask) execute(ctx context.Context) error {
...
@@ -598,9 +598,14 @@ func (rct *releaseCollectionTask) execute(ctx context.Context) error {
ctx2
,
cancel2
:=
context
.
WithTimeout
(
rct
.
ctx
,
timeoutForRPC
)
ctx2
,
cancel2
:=
context
.
WithTimeout
(
rct
.
ctx
,
timeoutForRPC
)
defer
cancel2
()
defer
cancel2
()
res
,
err
:=
rct
.
rootCoord
.
ReleaseDQLMessageStream
(
ctx2
,
releaseDQLMessageStreamReq
)
res
,
err
:=
rct
.
rootCoord
.
ReleaseDQLMessageStream
(
ctx2
,
releaseDQLMessageStreamReq
)
if
res
.
ErrorCode
!=
commonpb
.
ErrorCode_Success
||
err
!=
nil
{
if
err
!=
nil
{
log
.
Warn
(
"releaseCollectionTask: release collection end, releaseDQLMessageStream occur error"
,
zap
.
Int64
(
"collectionID"
,
rct
.
CollectionID
))
log
.
Error
(
"releaseCollectionTask: release collection end, releaseDQLMessageStream occur error"
,
zap
.
Int64
(
"collectionID"
,
rct
.
CollectionID
),
zap
.
Error
(
err
))
err
=
errors
.
New
(
"rootCoord releaseDQLMessageStream failed"
)
rct
.
setResultInfo
(
err
)
return
err
}
if
res
.
ErrorCode
!=
commonpb
.
ErrorCode_Success
{
log
.
Error
(
"releaseCollectionTask: release collection end, releaseDQLMessageStream occur error"
,
zap
.
Int64
(
"collectionID"
,
rct
.
CollectionID
),
zap
.
String
(
"error"
,
res
.
Reason
))
err
=
errors
.
New
(
res
.
Reason
)
rct
.
setResultInfo
(
err
)
rct
.
setResultInfo
(
err
)
return
err
return
err
}
}
...
@@ -738,22 +743,14 @@ func (lpt *loadPartitionTask) execute(ctx context.Context) error {
...
@@ -738,22 +743,14 @@ func (lpt *loadPartitionTask) execute(ctx context.Context) error {
watchDmReqs
:=
make
([]
*
querypb
.
WatchDmChannelsRequest
,
0
)
watchDmReqs
:=
make
([]
*
querypb
.
WatchDmChannelsRequest
,
0
)
var
watchDeltaChannels
[]
*
datapb
.
VchannelInfo
var
watchDeltaChannels
[]
*
datapb
.
VchannelInfo
for
_
,
partitionID
:=
range
partitionIDs
{
for
_
,
partitionID
:=
range
partitionIDs
{
getRecoveryInfoRequest
:=
&
datapb
.
GetRecoveryInfoRequest
{
dmChannelInfos
,
binlogs
,
err
:=
getRecoveryInfo
(
lpt
.
ctx
,
lpt
.
dataCoord
,
collectionID
,
partitionID
)
Base
:
lpt
.
Base
,
CollectionID
:
collectionID
,
PartitionID
:
partitionID
,
}
recoveryInfo
,
err
:=
func
()
(
*
datapb
.
GetRecoveryInfoResponse
,
error
)
{
ctx2
,
cancel2
:=
context
.
WithTimeout
(
ctx
,
timeoutForRPC
)
defer
cancel2
()
return
lpt
.
dataCoord
.
GetRecoveryInfo
(
ctx2
,
getRecoveryInfoRequest
)
}()
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Error
(
"loadPartitionTask: getRecoveryInfo failed"
,
zap
.
Int64
(
"collectionID"
,
collectionID
),
zap
.
Int64
(
"partitionID"
,
partitionID
),
zap
.
Error
(
err
))
lpt
.
setResultInfo
(
err
)
lpt
.
setResultInfo
(
err
)
return
err
return
err
}
}
for
_
,
segmentBingLog
:=
range
recoveryInfo
.
B
inlogs
{
for
_
,
segmentBingLog
:=
range
b
inlogs
{
segmentID
:=
segmentBingLog
.
SegmentID
segmentID
:=
segmentBingLog
.
SegmentID
segmentLoadInfo
:=
&
querypb
.
SegmentLoadInfo
{
segmentLoadInfo
:=
&
querypb
.
SegmentLoadInfo
{
SegmentID
:
segmentID
,
SegmentID
:
segmentID
,
...
@@ -788,14 +785,14 @@ func (lpt *loadPartitionTask) execute(ctx context.Context) error {
...
@@ -788,14 +785,14 @@ func (lpt *loadPartitionTask) execute(ctx context.Context) error {
loadSegmentReqs
=
append
(
loadSegmentReqs
,
loadSegmentReq
)
loadSegmentReqs
=
append
(
loadSegmentReqs
,
loadSegmentReq
)
}
}
for
_
,
info
:=
range
recoveryInfo
.
Channel
s
{
for
_
,
info
:=
range
dmChannelInfo
s
{
deltaChannel
,
err
:=
generateWatchDeltaChannelInfo
(
info
)
deltaChannel
,
err
:=
generateWatchDeltaChannelInfo
(
info
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
watchDeltaChannels
=
append
(
watchDeltaChannels
,
deltaChannel
)
watchDeltaChannels
=
append
(
watchDeltaChannels
,
deltaChannel
)
}
}
for
_
,
info
:=
range
recoveryInfo
.
Channel
s
{
for
_
,
info
:=
range
dmChannelInfo
s
{
// watch dml channels
// watch dml channels
channel
:=
info
.
ChannelName
channel
:=
info
.
ChannelName
msgBase
:=
proto
.
Clone
(
lpt
.
Base
)
.
(
*
commonpb
.
MsgBase
)
msgBase
:=
proto
.
Clone
(
lpt
.
Base
)
.
(
*
commonpb
.
MsgBase
)
...
@@ -1552,17 +1549,9 @@ func (ht *handoffTask) execute(ctx context.Context) error {
...
@@ -1552,17 +1549,9 @@ func (ht *handoffTask) execute(ctx context.Context) error {
// segment which is compacted to should not exist in query node
// segment which is compacted to should not exist in query node
_
,
err
=
ht
.
meta
.
getSegmentInfoByID
(
segmentID
)
_
,
err
=
ht
.
meta
.
getSegmentInfoByID
(
segmentID
)
if
err
!=
nil
{
if
err
!=
nil
{
getRecoveryInfoRequest
:=
&
datapb
.
GetRecoveryInfoRequest
{
dmChannelInfos
,
binlogs
,
err
:=
getRecoveryInfo
(
ht
.
ctx
,
ht
.
dataCoord
,
collectionID
,
partitionID
)
Base
:
ht
.
Base
,
CollectionID
:
collectionID
,
PartitionID
:
partitionID
,
}
recoveryInfo
,
err
:=
func
()
(
*
datapb
.
GetRecoveryInfoResponse
,
error
)
{
ctx2
,
cancel2
:=
context
.
WithTimeout
(
ctx
,
timeoutForRPC
)
defer
cancel2
()
return
ht
.
dataCoord
.
GetRecoveryInfo
(
ctx2
,
getRecoveryInfoRequest
)
}()
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Error
(
"handoffTask: getRecoveryInfo failed"
,
zap
.
Int64
(
"collectionID"
,
collectionID
),
zap
.
Int64
(
"partitionID"
,
partitionID
),
zap
.
Error
(
err
))
ht
.
setResultInfo
(
err
)
ht
.
setResultInfo
(
err
)
return
err
return
err
}
}
...
@@ -1570,7 +1559,7 @@ func (ht *handoffTask) execute(ctx context.Context) error {
...
@@ -1570,7 +1559,7 @@ func (ht *handoffTask) execute(ctx context.Context) error {
findBinlog
:=
false
findBinlog
:=
false
var
loadSegmentReq
*
querypb
.
LoadSegmentsRequest
var
loadSegmentReq
*
querypb
.
LoadSegmentsRequest
var
watchDeltaChannels
[]
*
datapb
.
VchannelInfo
var
watchDeltaChannels
[]
*
datapb
.
VchannelInfo
for
_
,
segmentBinlogs
:=
range
recoveryInfo
.
B
inlogs
{
for
_
,
segmentBinlogs
:=
range
b
inlogs
{
if
segmentBinlogs
.
SegmentID
==
segmentID
{
if
segmentBinlogs
.
SegmentID
==
segmentID
{
findBinlog
=
true
findBinlog
=
true
segmentLoadInfo
:=
&
querypb
.
SegmentLoadInfo
{
segmentLoadInfo
:=
&
querypb
.
SegmentLoadInfo
{
...
@@ -1594,7 +1583,7 @@ func (ht *handoffTask) execute(ctx context.Context) error {
...
@@ -1594,7 +1583,7 @@ func (ht *handoffTask) execute(ctx context.Context) error {
}
}
}
}
}
}
for
_
,
info
:=
range
recoveryInfo
.
Channel
s
{
for
_
,
info
:=
range
dmChannelInfo
s
{
deltaChannel
,
err
:=
generateWatchDeltaChannelInfo
(
info
)
deltaChannel
,
err
:=
generateWatchDeltaChannelInfo
(
info
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
@@ -1738,24 +1727,14 @@ func (lbt *loadBalanceTask) execute(ctx context.Context) error {
...
@@ -1738,24 +1727,14 @@ func (lbt *loadBalanceTask) execute(ctx context.Context) error {
log
.
Debug
(
"loadBalanceTask: partitions to recover"
,
zap
.
Int64s
(
"partitionIDs"
,
partitionIDs
))
log
.
Debug
(
"loadBalanceTask: partitions to recover"
,
zap
.
Int64s
(
"partitionIDs"
,
partitionIDs
))
for
_
,
partitionID
:=
range
partitionIDs
{
for
_
,
partitionID
:=
range
partitionIDs
{
getRecoveryInfo
:=
&
datapb
.
GetRecoveryInfoRequest
{
dmChannelInfos
,
binlogs
,
err
:=
getRecoveryInfo
(
lbt
.
ctx
,
lbt
.
dataCoord
,
collectionID
,
partitionID
)
Base
:
&
commonpb
.
MsgBase
{
MsgType
:
commonpb
.
MsgType_LoadBalanceSegments
,
},
CollectionID
:
collectionID
,
PartitionID
:
partitionID
,
}
recoveryInfo
,
err
:=
func
()
(
*
datapb
.
GetRecoveryInfoResponse
,
error
)
{
ctx2
,
cancel2
:=
context
.
WithTimeout
(
ctx
,
timeoutForRPC
)
defer
cancel2
()
return
lbt
.
dataCoord
.
GetRecoveryInfo
(
ctx2
,
getRecoveryInfo
)
}()
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Error
(
"loadBalanceTask: getRecoveryInfo failed"
,
zap
.
Int64
(
"collectionID"
,
collectionID
),
zap
.
Int64
(
"partitionID"
,
partitionID
),
zap
.
Error
(
err
))
lbt
.
setResultInfo
(
err
)
lbt
.
setResultInfo
(
err
)
return
err
return
err
}
}
for
_
,
segmentBingLog
:=
range
recoveryInfo
.
B
inlogs
{
for
_
,
segmentBingLog
:=
range
b
inlogs
{
segmentID
:=
segmentBingLog
.
SegmentID
segmentID
:=
segmentBingLog
.
SegmentID
segmentLoadInfo
:=
&
querypb
.
SegmentLoadInfo
{
segmentLoadInfo
:=
&
querypb
.
SegmentLoadInfo
{
SegmentID
:
segmentID
,
SegmentID
:
segmentID
,
...
@@ -1790,7 +1769,7 @@ func (lbt *loadBalanceTask) execute(ctx context.Context) error {
...
@@ -1790,7 +1769,7 @@ func (lbt *loadBalanceTask) execute(ctx context.Context) error {
loadSegmentReqs
=
append
(
loadSegmentReqs
,
loadSegmentReq
)
loadSegmentReqs
=
append
(
loadSegmentReqs
,
loadSegmentReq
)
}
}
for
_
,
info
:=
range
recoveryInfo
.
Channel
s
{
for
_
,
info
:=
range
dmChannelInfo
s
{
deltaChannel
,
err
:=
generateWatchDeltaChannelInfo
(
info
)
deltaChannel
,
err
:=
generateWatchDeltaChannelInfo
(
info
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
@@ -1798,7 +1777,7 @@ func (lbt *loadBalanceTask) execute(ctx context.Context) error {
...
@@ -1798,7 +1777,7 @@ func (lbt *loadBalanceTask) execute(ctx context.Context) error {
watchDeltaChannels
=
append
(
watchDeltaChannels
,
deltaChannel
)
watchDeltaChannels
=
append
(
watchDeltaChannels
,
deltaChannel
)
}
}
for
_
,
channelInfo
:=
range
recoveryInfo
.
Channel
s
{
for
_
,
channelInfo
:=
range
dmChannelInfo
s
{
for
_
,
channel
:=
range
dmChannels
{
for
_
,
channel
:=
range
dmChannels
{
if
channelInfo
.
ChannelName
==
channel
{
if
channelInfo
.
ChannelName
==
channel
{
if
loadType
==
querypb
.
LoadType_loadCollection
{
if
loadType
==
querypb
.
LoadType_loadCollection
{
...
@@ -1939,23 +1918,15 @@ func (lbt *loadBalanceTask) execute(ctx context.Context) error {
...
@@ -1939,23 +1918,15 @@ func (lbt *loadBalanceTask) execute(ctx context.Context) error {
return
err
return
err
}
}
for
_
,
partitionID
:=
range
partitionIDs
{
for
_
,
partitionID
:=
range
partitionIDs
{
getRecoveryInfoRequest
:=
&
datapb
.
GetRecoveryInfoRequest
{
dmChannelInfos
,
binlogs
,
err
:=
getRecoveryInfo
(
lbt
.
ctx
,
lbt
.
dataCoord
,
collectionID
,
partitionID
)
Base
:
lbt
.
Base
,
CollectionID
:
collectionID
,
PartitionID
:
partitionID
,
}
recoveryInfo
,
err
:=
func
()
(
*
datapb
.
GetRecoveryInfoResponse
,
error
)
{
ctx2
,
cancel2
:=
context
.
WithTimeout
(
ctx
,
timeoutForRPC
)
defer
cancel2
()
return
lbt
.
dataCoord
.
GetRecoveryInfo
(
ctx2
,
getRecoveryInfoRequest
)
}()
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Error
(
"loadBalanceTask: getRecoveryInfo failed"
,
zap
.
Int64
(
"collectionID"
,
collectionID
),
zap
.
Int64
(
"partitionID"
,
partitionID
),
zap
.
Error
(
err
))
lbt
.
setResultInfo
(
err
)
lbt
.
setResultInfo
(
err
)
return
err
return
err
}
}
segmentID2Binlog
:=
make
(
map
[
UniqueID
]
*
datapb
.
SegmentBinlogs
)
segmentID2Binlog
:=
make
(
map
[
UniqueID
]
*
datapb
.
SegmentBinlogs
)
for
_
,
binlog
:=
range
recoveryInfo
.
B
inlogs
{
for
_
,
binlog
:=
range
b
inlogs
{
segmentID2Binlog
[
binlog
.
SegmentID
]
=
binlog
segmentID2Binlog
[
binlog
.
SegmentID
]
=
binlog
}
}
...
@@ -1999,7 +1970,7 @@ func (lbt *loadBalanceTask) execute(ctx context.Context) error {
...
@@ -1999,7 +1970,7 @@ func (lbt *loadBalanceTask) execute(ctx context.Context) error {
loadSegmentReqs
=
append
(
loadSegmentReqs
,
loadSegmentReq
)
loadSegmentReqs
=
append
(
loadSegmentReqs
,
loadSegmentReq
)
}
}
for
_
,
info
:=
range
recoveryInfo
.
Channel
s
{
for
_
,
info
:=
range
dmChannelInfo
s
{
deltaChannel
,
err
:=
generateWatchDeltaChannelInfo
(
info
)
deltaChannel
,
err
:=
generateWatchDeltaChannelInfo
(
info
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
@@ -2275,3 +2246,26 @@ func mergeWatchDeltaChannelInfo(infos []*datapb.VchannelInfo) []*datapb.Vchannel
...
@@ -2275,3 +2246,26 @@ func mergeWatchDeltaChannelInfo(infos []*datapb.VchannelInfo) []*datapb.Vchannel
)
)
return
result
return
result
}
}
func
getRecoveryInfo
(
ctx
context
.
Context
,
dataCoord
types
.
DataCoord
,
collectionID
UniqueID
,
partitionID
UniqueID
)
([]
*
datapb
.
VchannelInfo
,
[]
*
datapb
.
SegmentBinlogs
,
error
)
{
ctx2
,
cancel2
:=
context
.
WithTimeout
(
ctx
,
timeoutForRPC
)
defer
cancel2
()
getRecoveryInfoRequest
:=
&
datapb
.
GetRecoveryInfoRequest
{
Base
:
&
commonpb
.
MsgBase
{
MsgType
:
commonpb
.
MsgType_GetRecoveryInfo
,
},
CollectionID
:
collectionID
,
PartitionID
:
partitionID
,
}
recoveryInfo
,
err
:=
dataCoord
.
GetRecoveryInfo
(
ctx2
,
getRecoveryInfoRequest
)
if
err
!=
nil
{
return
nil
,
nil
,
err
}
if
recoveryInfo
.
Status
.
ErrorCode
!=
commonpb
.
ErrorCode_Success
{
err
=
errors
.
New
(
recoveryInfo
.
Status
.
Reason
)
return
nil
,
nil
,
err
}
return
recoveryInfo
.
Channels
,
recoveryInfo
.
Binlogs
,
nil
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录