Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
4af2cacb
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,发现更多精彩内容 >>
未验证
提交
4af2cacb
编写于
5月 31, 2021
作者:
Z
zhenshan.cao
提交者:
GitHub
5月 31, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactor IndexService and IndexNode: remove redundant serviceID (#5491)
Signed-off-by:
N
zhenshan.cao
<
zhenshan.cao@zilliz.com
>
上级
ca0993c2
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
91 addition
and
111 deletion
+91
-111
internal/indexnode/indexnode.go
internal/indexnode/indexnode.go
+1
-5
internal/indexservice/indexservice.go
internal/indexservice/indexservice.go
+3
-3
internal/indexservice/meta_table.go
internal/indexservice/meta_table.go
+9
-14
internal/indexservice/node_mgr.go
internal/indexservice/node_mgr.go
+2
-10
internal/indexservice/priority_queue.go
internal/indexservice/priority_queue.go
+6
-8
internal/proto/index_service.proto
internal/proto/index_service.proto
+2
-2
internal/proto/indexpb/index_service.pb.go
internal/proto/indexpb/index_service.pb.go
+68
-69
未找到文件。
internal/indexnode/indexnode.go
浏览文件 @
4af2cacb
...
...
@@ -38,10 +38,6 @@ import (
"github.com/milvus-io/milvus/internal/util/typeutil"
)
const
(
reqTimeoutInterval
=
time
.
Second
*
10
)
type
UniqueID
=
typeutil
.
UniqueID
type
Timestamp
=
typeutil
.
Timestamp
...
...
@@ -115,7 +111,7 @@ func (i *IndexNode) Init() error {
Ip
:
Params
.
IP
,
Port
:
int64
(
Params
.
Port
),
},
Server
ID
:
i
.
session
.
ServerID
,
Node
ID
:
i
.
session
.
ServerID
,
}
resp
,
err2
:=
i
.
serviceClient
.
RegisterNode
(
ctx
,
request
)
...
...
internal/indexservice/indexservice.go
浏览文件 @
4af2cacb
...
...
@@ -473,7 +473,7 @@ func (i *IndexService) assignmentTasksLoop() {
if
err
:=
i
.
metaTable
.
UpdateVersion
(
indexBuildID
);
err
!=
nil
{
log
.
Debug
(
"IndexService"
,
zap
.
String
(
"build index update version err"
,
err
.
Error
()))
}
nodeID
,
builderClient
,
nodeServerID
:=
i
.
nodeClients
.
PeekClient
()
nodeID
,
builderClient
:=
i
.
nodeClients
.
PeekClient
()
if
builderClient
==
nil
{
log
.
Debug
(
"IndexService has no available IndexNode"
)
i
.
assignChan
<-
[]
UniqueID
{
indexBuildID
}
...
...
@@ -493,7 +493,7 @@ func (i *IndexService) assignmentTasksLoop() {
if
err
!=
nil
{
log
.
Debug
(
"IndexService"
,
zap
.
String
(
"build index err"
,
err
.
Error
()))
}
if
err
=
i
.
metaTable
.
BuildIndex
(
indexBuildID
,
node
Server
ID
);
err
!=
nil
{
if
err
=
i
.
metaTable
.
BuildIndex
(
indexBuildID
,
nodeID
);
err
!=
nil
{
log
.
Debug
(
"IndexService"
,
zap
.
String
(
"update meta table error"
,
err
.
Error
()))
}
if
resp
.
ErrorCode
!=
commonpb
.
ErrorCode_Success
{
...
...
@@ -524,7 +524,7 @@ func (i *IndexService) watchNodeLoop() {
case
sessionutil
.
SessionDelEvent
:
serverID
:=
event
.
Session
.
ServerID
log
.
Debug
(
"IndexService"
,
zap
.
Any
(
"The IndexNode crashed with ID"
,
serverID
))
indexBuildIDs
:=
i
.
nodeTasks
.
getTasksBy
LeaseKey
(
serverID
)
indexBuildIDs
:=
i
.
nodeTasks
.
getTasksBy
NodeID
(
serverID
)
i
.
assignChan
<-
indexBuildIDs
i
.
nodeTasks
.
delete
(
serverID
)
}
...
...
internal/indexservice/meta_table.go
浏览文件 @
4af2cacb
...
...
@@ -28,11 +28,6 @@ import (
"github.com/milvus-io/milvus/internal/proto/indexpb"
)
const
(
RequestTimeout
=
10
*
time
.
Second
maxTasks
=
10
)
type
Meta
struct
{
indexMeta
*
indexpb
.
IndexMeta
revision
int64
...
...
@@ -138,7 +133,7 @@ func (mt *metaTable) AddIndex(indexBuildID UniqueID, req *indexpb.BuildIndexRequ
State
:
commonpb
.
IndexState_Unissued
,
IndexBuildID
:
indexBuildID
,
Req
:
req
,
Node
ServerID
:
0
,
Node
ID
:
0
,
Version
:
0
,
},
revision
:
0
,
...
...
@@ -146,7 +141,7 @@ func (mt *metaTable) AddIndex(indexBuildID UniqueID, req *indexpb.BuildIndexRequ
return
mt
.
saveIndexMeta
(
meta
)
}
func
(
mt
*
metaTable
)
BuildIndex
(
indexBuildID
UniqueID
,
server
ID
int64
)
error
{
func
(
mt
*
metaTable
)
BuildIndex
(
indexBuildID
UniqueID
,
node
ID
int64
)
error
{
mt
.
lock
.
Lock
()
defer
mt
.
lock
.
Unlock
()
log
.
Debug
(
"IndexService update index meta"
)
...
...
@@ -159,7 +154,7 @@ func (mt *metaTable) BuildIndex(indexBuildID UniqueID, serverID int64) error {
if
meta
.
indexMeta
.
State
!=
commonpb
.
IndexState_Unissued
{
return
fmt
.
Errorf
(
"can not set lease key, index with ID = %d state is %d"
,
indexBuildID
,
meta
.
indexMeta
.
State
)
}
meta
.
indexMeta
.
Node
ServerID
=
server
ID
meta
.
indexMeta
.
Node
ID
=
node
ID
err
:=
mt
.
saveIndexMeta
(
&
meta
)
if
err
!=
nil
{
...
...
@@ -168,7 +163,7 @@ func (mt *metaTable) BuildIndex(indexBuildID UniqueID, serverID int64) error {
if
m
==
nil
{
return
err
}
m
.
indexMeta
.
Node
ServerID
=
server
ID
m
.
indexMeta
.
Node
ID
=
node
ID
return
mt
.
saveIndexMeta
(
m
)
}
err2
:=
retry
.
Retry
(
5
,
time
.
Millisecond
*
200
,
fn
)
...
...
@@ -352,14 +347,14 @@ func (mt *metaTable) GetIndexMeta(indexBuildID UniqueID) Meta {
return
meta
}
func
(
mt
*
metaTable
)
GetUnassignedTasks
(
server
IDs
[]
int64
)
[][]
UniqueID
{
func
(
mt
*
metaTable
)
GetUnassignedTasks
(
node
IDs
[]
int64
)
[][]
UniqueID
{
var
tasks
[][]
UniqueID
var
indexBuildIDs
[]
UniqueID
for
indexBuildID
,
meta
:=
range
mt
.
indexBuildID2Meta
{
alive
:=
false
for
_
,
serverID
:=
range
server
IDs
{
if
meta
.
indexMeta
.
Node
Server
ID
==
serverID
{
for
_
,
serverID
:=
range
node
IDs
{
if
meta
.
indexMeta
.
NodeID
==
serverID
{
alive
=
true
}
}
...
...
@@ -477,8 +472,8 @@ func NewNodeTasks() *nodeTasks {
}
}
func
(
nt
*
nodeTasks
)
getTasksBy
LeaseKey
(
server
ID
int64
)
[]
UniqueID
{
indexBuildIDs
,
ok
:=
nt
.
nodeID2Tasks
[
server
ID
]
func
(
nt
*
nodeTasks
)
getTasksBy
NodeID
(
node
ID
int64
)
[]
UniqueID
{
indexBuildIDs
,
ok
:=
nt
.
nodeID2Tasks
[
node
ID
]
if
!
ok
{
return
nil
}
...
...
internal/indexservice/node_mgr.go
浏览文件 @
4af2cacb
...
...
@@ -53,7 +53,6 @@ func (i *IndexService) addNode(nodeID UniqueID, req *indexpb.RegisterNodeRequest
value
:
nodeClient
,
key
:
nodeID
,
addr
:
req
.
Address
,
serverID
:
req
.
ServerID
,
priority
:
0
,
}
i
.
nodeClients
.
Push
(
item
)
...
...
@@ -77,14 +76,7 @@ func (i *IndexService) RegisterNode(ctx context.Context, req *indexpb.RegisterNo
ErrorCode
:
commonpb
.
ErrorCode_UnexpectedError
,
},
}
nodeID
,
err
:=
i
.
idAllocator
.
AllocOne
()
if
err
!=
nil
{
ret
.
Status
.
Reason
=
"IndexService:RegisterNode Failed to acquire NodeID"
return
ret
,
nil
}
err
=
i
.
addNode
(
nodeID
,
req
)
err
:=
i
.
addNode
(
req
.
NodeID
,
req
)
if
err
!=
nil
{
ret
.
Status
.
Reason
=
err
.
Error
()
return
ret
,
nil
...
...
@@ -93,7 +85,7 @@ func (i *IndexService) RegisterNode(ctx context.Context, req *indexpb.RegisterNo
ret
.
Status
.
ErrorCode
=
commonpb
.
ErrorCode_Success
params
:=
i
.
prepareNodeInitParams
()
ret
.
InitParams
=
&
internalpb
.
InitParams
{
NodeID
:
n
odeID
,
NodeID
:
req
.
N
odeID
,
StartParams
:
params
,
}
return
ret
,
nil
...
...
internal/indexservice/priority_queue.go
浏览文件 @
4af2cacb
...
...
@@ -25,8 +25,6 @@ type PQItem struct {
key
UniqueID
addr
*
commonpb
.
Address
serverID
int64
priority
int
// The priority of the item in the queue.
// The index is needed by update and is maintained by the heap.Interface methods.
index
int
// The index of the item in the heap.
...
...
@@ -63,7 +61,7 @@ func (pq *PriorityQueue) Push(x interface{}) {
pq
.
items
=
append
(
pq
.
items
,
item
)
}
// do not call this directly.
//
Pop
do not call this directly.
func
(
pq
*
PriorityQueue
)
Pop
()
interface
{}
{
old
:=
pq
.
items
n
:=
len
(
old
)
...
...
@@ -96,7 +94,7 @@ func (pq *PriorityQueue) getItemByKey(key UniqueID) interface{} {
return
ret
}
// update modifies the priority and value of an Item in the queue.
//
IncPriority
update modifies the priority and value of an Item in the queue.
func
(
pq
*
PriorityQueue
)
IncPriority
(
key
UniqueID
,
priority
int
)
{
pq
.
lock
.
Lock
()
defer
pq
.
lock
.
Unlock
()
...
...
@@ -107,7 +105,7 @@ func (pq *PriorityQueue) IncPriority(key UniqueID, priority int) {
}
}
// update modifies the priority and value of an Item in the queue.
//
UpdatePriority
update modifies the priority and value of an Item in the queue.
func
(
pq
*
PriorityQueue
)
UpdatePriority
(
key
UniqueID
,
priority
int
)
{
pq
.
lock
.
Lock
()
defer
pq
.
lock
.
Unlock
()
...
...
@@ -139,12 +137,12 @@ func (pq *PriorityQueue) Peek() interface{} {
}
// PeekClient picks an IndexNode with the lowest load.
func
(
pq
*
PriorityQueue
)
PeekClient
()
(
UniqueID
,
types
.
IndexNode
,
int64
)
{
func
(
pq
*
PriorityQueue
)
PeekClient
()
(
UniqueID
,
types
.
IndexNode
)
{
item
:=
pq
.
Peek
()
if
item
==
nil
{
return
UniqueID
(
-
1
),
nil
,
0
return
UniqueID
(
-
1
),
nil
}
return
item
.
(
*
PQItem
)
.
key
,
item
.
(
*
PQItem
)
.
value
,
item
.
(
*
PQItem
)
.
serverID
return
item
.
(
*
PQItem
)
.
key
,
item
.
(
*
PQItem
)
.
value
}
func
(
pq
*
PriorityQueue
)
PeekAllClients
()
[]
types
.
IndexNode
{
...
...
internal/proto/index_service.proto
浏览文件 @
4af2cacb
...
...
@@ -29,7 +29,7 @@ service IndexNode {
message
RegisterNodeRequest
{
common.MsgBase
base
=
1
;
common.Address
address
=
2
;
int64
server
ID
=
3
;
int64
node
ID
=
3
;
}
message
RegisterNodeResponse
{
...
...
@@ -101,7 +101,7 @@ message IndexMeta {
BuildIndexRequest
req
=
4
;
repeated
string
index_file_paths
=
5
;
bool
mark_deleted
=
6
;
int64
node
_server
ID
=
7
;
int64
nodeID
=
7
;
int64
version
=
8
;
bool
recycled
=
9
;
}
...
...
internal/proto/indexpb/index_service.pb.go
浏览文件 @
4af2cacb
...
...
@@ -30,7 +30,7 @@ const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type
RegisterNodeRequest
struct
{
Base
*
commonpb
.
MsgBase
`protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
Address
*
commonpb
.
Address
`protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
ServerID
int64
`protobuf:"varint,3,opt,name=serverID,proto3" json:"server
ID,omitempty"`
NodeID
int64
`protobuf:"varint,3,opt,name=nodeID,proto3" json:"node
ID,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -75,9 +75,9 @@ func (m *RegisterNodeRequest) GetAddress() *commonpb.Address {
return
nil
}
func
(
m
*
RegisterNodeRequest
)
Get
Server
ID
()
int64
{
func
(
m
*
RegisterNodeRequest
)
Get
Node
ID
()
int64
{
if
m
!=
nil
{
return
m
.
Server
ID
return
m
.
Node
ID
}
return
0
}
...
...
@@ -655,7 +655,7 @@ type IndexMeta struct {
Req
*
BuildIndexRequest
`protobuf:"bytes,4,opt,name=req,proto3" json:"req,omitempty"`
IndexFilePaths
[]
string
`protobuf:"bytes,5,rep,name=index_file_paths,json=indexFilePaths,proto3" json:"index_file_paths,omitempty"`
MarkDeleted
bool
`protobuf:"varint,6,opt,name=mark_deleted,json=markDeleted,proto3" json:"mark_deleted,omitempty"`
Node
ServerID
int64
`protobuf:"varint,7,opt,name=node_serverID,json=nodeServerID,proto3" json:"node_server
ID,omitempty"`
Node
ID
int64
`protobuf:"varint,7,opt,name=nodeID,proto3" json:"node
ID,omitempty"`
Version
int64
`protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"`
Recycled
bool
`protobuf:"varint,9,opt,name=recycled,proto3" json:"recycled,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -730,9 +730,9 @@ func (m *IndexMeta) GetMarkDeleted() bool {
return
false
}
func
(
m
*
IndexMeta
)
GetNode
Server
ID
()
int64
{
func
(
m
*
IndexMeta
)
GetNodeID
()
int64
{
if
m
!=
nil
{
return
m
.
Node
Server
ID
return
m
.
NodeID
}
return
0
}
...
...
@@ -809,69 +809,68 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"index_service.proto"
,
fileDescriptor_a5d2036b4df73e0a
)
}
var
fileDescriptor_a5d2036b4df73e0a
=
[]
byte
{
// 986 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xec
,
0x56
,
0xdf
,
0x6e
,
0x1b
,
0xc5
,
0x17
,
0xce
,
0x7a
,
0x1b
,
0xff
,
0x39
,
0x76
,
0xa3
,
0x66
,
0xda
,
0x5f
,
0xb5
,
0x3f
,
0x97
,
0xaa
,
0xce
,
0xb6
,
0x80
,
0x41
,
0xad
,
0x53
,
0xb9
,
0x14
,
0xae
,
0x90
,
0x20
,
0xb1
,
0x88
,
0x2c
,
0xd4
,
0x2a
,
0x9a
,
0x44
,
0x5c
,
0x20
,
0x21
,
0x6b
,
0xe2
,
0x3d
,
0x49
,
0x46
,
0xdd
,
0x3f
,
0xce
,
0xce
,
0x38
,
0x22
,
0xf7
,
0xdc
,
0x73
,
0x87
,
0x84
,
0x78
,
0x0e
,
0xc4
,
0x73
,
0x70
,
0xc5
,
0x2b
,
0xf0
,
0x18
,
0x68
,
0x66
,
0x67
,
0xb7
,
0xbb
,
0xeb
,
0x75
,
0xe2
,
0x90
,
0xc2
,
0x15
,
0x77
,
0x7b
,
0xce
,
0x9c
,
0x33
,
0xdf
,
0x9c
,
0x6f
,
0xce
,
0xf9
,
0x76
,
0xe0
,
0x2e
,
0x0f
,
0x3d
,
0xfc
,
0x7e
,
0x22
,
0x30
,
0x3e
,
0xe7
,
0x53
,
0x1c
,
0xcc
,
0xe2
,
0x48
,
0x46
,
0x84
,
0x04
,
0xdc
,
0x3f
,
0x9f
,
0x8b
,
0xc4
,
0x1a
,
0xe8
,
0x88
,
0x6e
,
0x67
,
0x1a
,
0x05
,
0x41
,
0x14
,
0x26
,
0xbe
,
0xee
,
0x06
,
0x0f
,
0x25
,
0xc6
,
0x21
,
0xf3
,
0x8d
,
0xdd
,
0xc9
,
0x67
,
0xb8
,
0xbf
,
0x58
,
0x70
,
0x97
,
0xe2
,
0x09
,
0x17
,
0x12
,
0xe3
,
0xd7
,
0x91
,
0x87
,
0x14
,
0xcf
,
0xe6
,
0x28
,
0x24
,
0x79
,
0x0e
,
0xb7
,
0x8e
,
0x98
,
0x40
,
0xc7
,
0xea
,
0x59
,
0xfd
,
0xf6
,
0xf0
,
0xbd
,
0x41
,
0x01
,
0xc6
,
0xec
,
0xff
,
0x4a
,
0x9c
,
0xec
,
0x30
,
0x81
,
0x54
,
0x47
,
0x92
,
0x4f
,
0xa1
,
0xc1
,
0x3c
,
0x2f
,
0x46
,
0x21
,
0x9c
,
0xda
,
0x25
,
0x49
,
0x5f
,
0x26
,
0x31
,
0x34
,
0x0d
,
0x26
,
0x5d
,
0x68
,
0xaa
,
0x92
,
0x30
,
0x1e
,
0x8f
,
0x1c
,
0xbb
,
0x67
,
0xf5
,
0x6d
,
0x9a
,
0xd9
,
0xee
,
0x8f
,
0x16
,
0xdc
,
0x2b
,
0x9e
,
0x4e
,
0xcc
,
0xa2
,
0x50
,
0x20
,
0x79
,
0x01
,
0x75
,
0x21
,
0x99
,
0x9c
,
0x0b
,
0x73
,
0xc0
,
0x07
,
0x95
,
0x58
,
0x07
,
0x3a
,
0x84
,
0x9a
,
0x50
,
0xb2
,
0x03
,
0x6d
,
0x1e
,
0x72
,
0x39
,
0x99
,
0xb1
,
0x98
,
0x05
,
0xe9
,
0x29
,
0xb7
,
0x06
,
0x25
,
0x06
,
0x0d
,
0x59
,
0xe3
,
0x90
,
0xcb
,
0x7d
,
0x1d
,
0x48
,
0x81
,
0x67
,
0xdf
,
0xee
,
0xe7
,
0xf0
,
0xbf
,
0x3d
,
0x94
,
0x63
,
0xc5
,
0xb3
,
0xda
,
0x1d
,
0x45
,
0x4a
,
0xd8
,
0x13
,
0xb8
,
0xad
,
0xd9
,
0xdf
,
0x99
,
0x73
,
0xdf
,
0x1b
,
0x8f
,
0xd4
,
0xc1
,
0xec
,
0xbe
,
0x4d
,
0x8b
,
0x4e
,
0xf7
,
0x37
,
0x0b
,
0x5a
,
0x3a
,
0x79
,
0x1c
,
0x1e
,
0x47
,
0xe4
,
0x25
,
0xac
,
0xab
,
0xa3
,
0x25
,
0x2c
,
0x6f
,
0x0c
,
0x1f
,
0x55
,
0x16
,
0xf1
,
0x16
,
0x8b
,
0x26
,
0xd1
,
0xc4
,
0x85
,
0x4e
,
0x7e
,
0x57
,
0x5d
,
0x88
,
0x4d
,
0x0b
,
0x3e
,
0xe2
,
0x40
,
0x43
,
0xdb
,
0x19
,
0xa9
,
0xa9
,
0x49
,
0x1e
,
0x02
,
0x24
,
0x8d
,
0x14
,
0xb2
,
0x00
,
0x9d
,
0x5b
,
0x3d
,
0xab
,
0xdf
,
0xa2
,
0x2d
,
0xed
,
0x79
,
0xcd
,
0x02
,
0x24
,
0xf7
,
0xa1
,
0x1e
,
0x23
,
0x13
,
0x51
,
0xe8
,
0xac
,
0xeb
,
0x25
,
0x63
,
0xb9
,
0x3f
,
0x58
,
0x70
,
0xbf
,
0x5c
,
0xf9
,
0x4d
,
0x2e
,
0xe3
,
0x65
,
0x92
,
0x84
,
0xea
,
0x1e
,
0xec
,
0x7e
,
0x7b
,
0xf8
,
0x70
,
0xb0
,
0xd8
,
0xc9
,
0x83
,
0x8c
,
0x2a
,
0x6a
,
0x82
,
0xdd
,
0xdf
,
0x6b
,
0x40
,
0x76
,
0x63
,
0x64
,
0x12
,
0xf5
,
0x5a
,
0xca
,
0x7e
,
0x99
,
0x12
,
0xab
,
0x82
,
0x92
,
0x62
,
0xe1
,
0xb5
,
0x72
,
0xe1
,
0xcb
,
0x19
,
0x73
,
0xa0
,
0x71
,
0x8e
,
0xb1
,
0xe0
,
0x51
,
0xa8
,
0xe9
,
0xb2
,
0x69
,
0x6a
,
0x92
,
0x07
,
0xd0
,
0x0a
,
0x50
,
0xb2
,
0xc9
,
0x8c
,
0xc9
,
0x53
,
0xc3
,
0x57
,
0x53
,
0x39
,
0xf6
,
0x99
,
0x3c
,
0x55
,
0x78
,
0x1e
,
0x33
,
0x8b
,
0xc2
,
0xa9
,
0xf7
,
0x6c
,
0x85
,
0xa7
,
0x3c
,
0x6a
,
0x55
,
0x77
,
0xa3
,
0xbc
,
0x98
,
0x61
,
0xda
,
0x8d
,
0x0d
,
0xcd
,
0xc2
,
0x56
,
0x25
,
0x75
,
0x5f
,
0xe3
,
0xc5
,
0x37
,
0xcc
,
0x9f
,
0xe3
,
0x3e
,
0xe3
,
0x31
,
0x05
,
0x95
,
0x95
,
0x74
,
0x23
,
0x19
,
0x99
,
0xb2
,
0xd3
,
0x4d
,
0x9a
,
0xab
,
0x6e
,
0xd2
,
0xd6
,
0x69
,
0xa6
,
0xa7
,
0x7f
,
0xae
,
0xc1
,
0x66
,
0x42
,
0xd2
,
0xbf
,
0x46
,
0x69
,
0x91
,
0x9b
,
0xf5
,
0x2b
,
0xb8
,
0xa9
,
0xbf
,
0x0b
,
0x6e
,
0x1a
,
0x7f
,
0x8b
,
0x9b
,
0x00
,
0x48
,
0x9e
,
0x9a
,
0x9b
,
0x74
,
0xfc
,
0x0a
,
0x63
,
0xeb
,
0x7e
,
0x01
,
0x4e
,
0x3a
,
0x64
,
0x5f
,
0x71
,
0x1f
,
0x35
,
0x1b
,
0xd7
,
0x53
,
0x98
,
0x9f
,
0x2c
,
0xd8
,
0x2c
,
0xe4
,
0x6b
,
0xa5
,
0xf9
,
0xa7
,
0x0e
,
0x4c
,
0xfa
,
0x70
,
0x27
,
0x61
,
0xf9
,
0x98
,
0xfb
,
0x68
,
0xae
,
0xd3
,
0xd6
,
0xd7
,
0xb9
,
0xc1
,
0x0b
,
0x55
,
0xa8
,
0x83
,
0xfd
,
0xbf
,
0xa2
,
0xb6
,
0x9b
,
0x30
,
0x3a
,
0x02
,
0xc8
,
0xc1
,
0x26
,
0x3a
,
0xf2
,
0xfe
,
0x52
,
0x1d
,
0xc9
,
0x13
,
0x42
,
0x5b
,
0xc7
,
0xd9
,
0xc1
,
0xfe
,
0xac
,
0x19
,
0x4d
,
0x7e
,
0x85
,
0x92
,
0xad
,
0xd4
,
0xf6
,
0x99
,
0x6e
,
0xd7
,
0xae
,
0xa5
,
0xdb
,
0x8f
,
0xa0
,
0x7d
,
0xcc
,
0xb8
,
0x3f
,
0x31
,
0xfa
,
0x6a
,
0xeb
,
0x71
,
0x01
,
0xe5
,
0xa2
,
0xda
,
0x43
,
0x3e
,
0x03
,
0x3b
,
0xc6
,
0x33
,
0x2d
,
0x32
,
0x4b
,
0x0a
,
0x59
,
0x18
,
0x53
,
0xaa
,
0x32
,
0x2a
,
0x6f
,
0x61
,
0xbd
,
0xea
,
0x16
,
0xc8
,
0x16
,
0x74
,
0x02
,
0x16
,
0xbf
,
0x99
,
0x78
,
0xe8
,
0xa3
,
0x44
,
0xcf
,
0xa9
,
0xf7
,
0xac
,
0x7e
,
0x93
,
0xb6
,
0x95
,
0x6f
,
0x94
,
0xb8
,
0xc8
,
0x63
,
0xb8
,
0x1d
,
0x46
,
0x1e
,
0x4e
,
0xb2
,
0xbf
,
0x72
,
0x23
,
0xa1
,
0x40
,
0x39
,
0x0f
,
0x8c
,
0x2f
,
0xaf
,
0x89
,
0xcd
,
0xa2
,
0x26
,
0x76
,
0xa1
,
0x19
,
0xe3
,
0xf4
,
0x62
,
0xea
,
0xa3
,
0xe7
,
0xb4
,
0xf4
,
0xee
,
0x99
,
0xed
,
0x3e
,
0x85
,
0x3b
,
0xa3
,
0x38
,
0x9a
,
0x15
,
0x74
,
0x26
,
0x27
,
0x12
,
0x56
,
0x41
,
0x24
,
0x86
,
0x7f
,
0xd4
,
0xa1
,
0x93
,
0xb0
,
0x98
,
0x3c
,
0x79
,
0xc8
,
0x0c
,
0xc8
,
0x1e
,
0xca
,
0xdd
,
0x28
,
0x98
,
0x45
,
0x21
,
0x86
,
0x32
,
0xf9
,
0x0d
,
0x91
,
0xe7
,
0x4b
,
0xfe
,
0xe0
,
0x8b
,
0xa1
,
0x06
,
0xb2
,
0xfb
,
0xc1
,
0x92
,
0x8c
,
0x52
,
0xb8
,
0xbb
,
0x46
,
0x02
,
0x8d
,
0x78
,
0xc8
,
0x03
,
0x3c
,
0xe4
,
0xd3
,
0x37
,
0xbb
,
0xa7
,
0x2c
,
0x0c
,
0xd1
,
0xbf
,
0x0c
,
0xb1
,
0x14
,
0x9a
,
0x22
,
0x3e
,
0x2e
,
0x66
,
0x18
,
0xe3
,
0x40
,
0xc6
,
0x3c
,
0x3c
,
0x49
,
0x67
,
0xc0
,
0x5d
,
0x23
,
0x67
,
0x70
,
0x6f
,
0x0f
,
0x35
,
0x3a
,
0x17
,
0x92
,
0x4f
,
0x45
,
0x0a
,
0x38
,
0x5c
,
0x0e
,
0xb8
,
0x10
,
0x7c
,
0x4d
,
0xc8
,
0x29
,
0x74
,
0xf2
,
0x2f
,
0x2c
,
0xf2
,
0x61
,
0x55
,
0xdb
,
0x55
,
0xbc
,
0x10
,
0xbb
,
0xfd
,
0xab
,
0x03
,
0x33
,
0x90
,
0xef
,
0x00
,
0xde
,
0x76
,
0x2e
,
0x59
,
0xad
,
0xb3
,
0x17
,
0x6f
,
0xa9
,
0x1c
,
0x96
,
0x6d
,
0xcf
,
0x61
,
0xa3
,
0xf8
,
0x34
,
0x21
,
0x1f
,
0x55
,
0xe5
,
0x56
,
0x3e
,
0xdc
,
0xba
,
0x1f
,
0xaf
,
0x12
,
0x9a
,
0x41
,
0xc5
,
0xb0
,
0xb9
,
0x20
,
0x62
,
0xe4
,
0xe9
,
0x65
,
0x5b
,
0x94
,
0x75
,
0xbc
,
0xfb
,
0x6c
,
0xc5
,
0xe8
,
0x0c
,
0x73
,
0x1f
,
0x5a
,
0xd9
,
0xd4
,
0x90
,
0x27
,
0x55
,
0xd9
,
0xe5
,
0xa1
,
0xea
,
0x5e
,
0x26
,
0x9f
,
0xee
,
0xda
,
0xf0
,
0x57
,
0xdb
,
0x48
,
0x9e
,
0xbe
,
0xf2
,
0xff
,
0xc6
,
0xea
,
0xdd
,
0x8f
,
0xd5
,
0x21
,
0xb4
,
0x73
,
0xcf
,
0x54
,
0x52
,
0xd9
,
0xcb
,
0x8b
,
0xef
,
0xd8
,
0x2b
,
0xee
,
0x6d
,
0xe7
,
0x93
,
0x6f
,
0x87
,
0x27
,
0x5c
,
0x9e
,
0xce
,
0x8f
,
0xd4
,
0xca
,
0x76
,
0x12
,
0xfa
,
0x8c
,
0x47
,
0xe6
,
0x6b
,
0x3b
,
0x2d
,
0x60
,
0x5b
,
0x67
,
0x6f
,
0x6b
,
0x94
,
0xd9
,
0xd1
,
0x51
,
0x5d
,
0x9b
,
0x2f
,
0xfe
,
0x0a
,
0x00
,
0x00
,
0xff
,
0xff
,
0x9b
,
0x6b
,
0x7c
,
0x8a
,
0x41
,
0x0e
,
0x00
,
0x00
,
// 971 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xec
,
0x56
,
0x4f
,
0x6f
,
0x1b
,
0x45
,
0x14
,
0xcf
,
0x7a
,
0x1b
,
0xff
,
0x79
,
0x36
,
0x51
,
0x33
,
0x2d
,
0xd5
,
0xe2
,
0x52
,
0xd5
,
0x59
,
0x0a
,
0x18
,
0xd4
,
0x3a
,
0x95
,
0x4b
,
0xe1
,
0x84
,
0x04
,
0x89
,
0x45
,
0x64
,
0xa1
,
0x56
,
0xd1
,
0x34
,
0xe2
,
0x80
,
0x84
,
0xac
,
0x89
,
0xf7
,
0x25
,
0x19
,
0x75
,
0xff
,
0x38
,
0x3b
,
0xe3
,
0x88
,
0xdc
,
0xb9
,
0x73
,
0x03
,
0xf1
,
0x41
,
0x10
,
0x9f
,
0x83
,
0x13
,
0x07
,
0xbe
,
0x0c
,
0x9a
,
0xd9
,
0xd9
,
0xed
,
0xee
,
0x7a
,
0x9d
,
0x38
,
0x24
,
0x70
,
0xea
,
0x6d
,
0xdf
,
0x9b
,
0xf7
,
0xe6
,
0x37
,
0xef
,
0xf7
,
0xde
,
0xfc
,
0x76
,
0xe0
,
0x0e
,
0x0f
,
0x3d
,
0xfc
,
0x71
,
0x22
,
0x30
,
0x3e
,
0xe3
,
0x53
,
0x1c
,
0xcc
,
0xe2
,
0x48
,
0x46
,
0x84
,
0x04
,
0xdc
,
0x3f
,
0x9b
,
0x8b
,
0xc4
,
0x1a
,
0xe8
,
0x88
,
0x6e
,
0x67
,
0x1a
,
0x05
,
0x41
,
0x14
,
0x26
,
0xbe
,
0xee
,
0x06
,
0x0f
,
0x25
,
0xc6
,
0x21
,
0xf3
,
0x8d
,
0xdd
,
0xc9
,
0x67
,
0xb8
,
0xbf
,
0x5a
,
0x70
,
0x87
,
0xe2
,
0x31
,
0x17
,
0x12
,
0xe3
,
0x97
,
0x91
,
0x87
,
0x14
,
0x4f
,
0xe7
,
0x28
,
0x24
,
0x79
,
0x0a
,
0xb7
,
0x0e
,
0x99
,
0x40
,
0xc7
,
0xea
,
0x59
,
0xfd
,
0xf6
,
0xf0
,
0xfd
,
0x41
,
0x01
,
0xc6
,
0xec
,
0xff
,
0x42
,
0x1c
,
0xef
,
0x30
,
0x81
,
0x54
,
0x47
,
0x92
,
0xcf
,
0xa1
,
0xc1
,
0x3c
,
0x2f
,
0x46
,
0x21
,
0x9c
,
0xda
,
0x05
,
0x49
,
0x5f
,
0x27
,
0x31
,
0x34
,
0x0d
,
0x26
,
0xf7
,
0xa0
,
0x1e
,
0x46
,
0x1e
,
0x8e
,
0x47
,
0x8e
,
0xdd
,
0xb3
,
0xfa
,
0x36
,
0x35
,
0x96
,
0xfb
,
0xb3
,
0x05
,
0x77
,
0x8b
,
0x27
,
0x13
,
0xb3
,
0x28
,
0x14
,
0x48
,
0x9e
,
0x41
,
0x5d
,
0x48
,
0x26
,
0xe7
,
0xc2
,
0x1c
,
0xee
,
0x7e
,
0x25
,
0xce
,
0x2b
,
0x1d
,
0x42
,
0x4d
,
0x28
,
0xd9
,
0x81
,
0x36
,
0x0f
,
0xb9
,
0x9c
,
0xcc
,
0x58
,
0xcc
,
0x82
,
0xf4
,
0x84
,
0x5b
,
0x83
,
0x12
,
0x7b
,
0x86
,
0xa8
,
0x71
,
0xc8
,
0xe5
,
0xbe
,
0x0e
,
0xa4
,
0xc0
,
0xb3
,
0x6f
,
0xf7
,
0x4b
,
0x78
,
0x77
,
0x0f
,
0xe5
,
0x58
,
0x71
,
0xac
,
0x76
,
0x47
,
0x91
,
0x92
,
0xf5
,
0x08
,
0xde
,
0xd1
,
0xcc
,
0xef
,
0xcc
,
0xb9
,
0xef
,
0x8d
,
0x47
,
0xea
,
0x60
,
0x76
,
0xdf
,
0xa6
,
0x45
,
0xa7
,
0xfb
,
0x87
,
0x05
,
0x2d
,
0x9d
,
0x3c
,
0x0e
,
0x8f
,
0x22
,
0xf2
,
0x1c
,
0xd6
,
0xd5
,
0xd1
,
0x12
,
0x86
,
0x37
,
0x86
,
0x0f
,
0x2b
,
0x8b
,
0x78
,
0x83
,
0x45
,
0x93
,
0x68
,
0xe2
,
0x42
,
0x27
,
0xbf
,
0xab
,
0x2e
,
0xc4
,
0xa6
,
0x05
,
0x1f
,
0x71
,
0xa0
,
0xa1
,
0xed
,
0x8c
,
0xd2
,
0xd4
,
0x24
,
0x0f
,
0x00
,
0x92
,
0x21
,
0x0a
,
0x59
,
0x80
,
0xce
,
0xad
,
0x9e
,
0xd5
,
0x6f
,
0xd1
,
0x96
,
0xf6
,
0xbc
,
0x64
,
0x01
,
0xaa
,
0x56
,
0xc4
,
0xc8
,
0x44
,
0x14
,
0x3a
,
0xeb
,
0x7a
,
0xc9
,
0x58
,
0xee
,
0x4f
,
0x16
,
0xdc
,
0x2b
,
0x57
,
0x7e
,
0x9d
,
0x66
,
0x3c
,
0x4f
,
0x92
,
0x50
,
0xf5
,
0xc1
,
0xee
,
0xb7
,
0x87
,
0x0f
,
0x06
,
0x8b
,
0x53
,
0x3c
,
0xc8
,
0xa8
,
0xa2
,
0x26
,
0xd8
,
0xfd
,
0xb3
,
0x06
,
0x64
,
0x37
,
0x46
,
0x26
,
0x51
,
0xaf
,
0xa5
,
0xec
,
0x97
,
0x29
,
0xb1
,
0x2a
,
0x28
,
0x29
,
0x16
,
0x5e
,
0x2b
,
0x17
,
0xbe
,
0x9c
,
0x31
,
0x07
,
0x1a
,
0x67
,
0x18
,
0x0b
,
0x1e
,
0x85
,
0x9a
,
0x2e
,
0x9b
,
0xa6
,
0x26
,
0xb9
,
0x0f
,
0xad
,
0x00
,
0x25
,
0x9b
,
0xcc
,
0x98
,
0x3c
,
0x31
,
0x7c
,
0x35
,
0x95
,
0x63
,
0x9f
,
0xc9
,
0x13
,
0x85
,
0xe7
,
0x31
,
0xb3
,
0x28
,
0x9c
,
0x7a
,
0xcf
,
0x56
,
0x78
,
0xca
,
0xa3
,
0x56
,
0xf5
,
0x34
,
0xca
,
0xf3
,
0x19
,
0xa6
,
0xd3
,
0xd8
,
0xd0
,
0x2c
,
0x6c
,
0x55
,
0x52
,
0xf7
,
0x2d
,
0x9e
,
0x7f
,
0xc7
,
0xfc
,
0x39
,
0xee
,
0x33
,
0x1e
,
0x53
,
0x50
,
0x59
,
0xc9
,
0x34
,
0x92
,
0x91
,
0x29
,
0x3b
,
0xdd
,
0xa4
,
0xb9
,
0xea
,
0x26
,
0x6d
,
0x9d
,
0x66
,
0x66
,
0xfa
,
0xb7
,
0x1a
,
0x6c
,
0x26
,
0x24
,
0xfd
,
0x6f
,
0x94
,
0x16
,
0xb9
,
0x59
,
0xbf
,
0x84
,
0x9b
,
0xfa
,
0x4d
,
0x70
,
0xd3
,
0xf8
,
0x57
,
0xdc
,
0x04
,
0x40
,
0xf2
,
0xd4
,
0x5c
,
0x67
,
0xe2
,
0x57
,
0xb8
,
0xb6
,
0xee
,
0x57
,
0xe0
,
0xa4
,
0x97
,
0xec
,
0x1b
,
0xee
,
0xa3
,
0x66
,
0xe3
,
0x6a
,
0x0a
,
0xf3
,
0x8b
,
0x05
,
0x9b
,
0x85
,
0x7c
,
0xad
,
0x34
,
0xff
,
0xd5
,
0x81
,
0x49
,
0x1f
,
0x6e
,
0x27
,
0x2c
,
0x1f
,
0x71
,
0x1f
,
0x4d
,
0x3b
,
0x6d
,
0xdd
,
0xce
,
0x0d
,
0x5e
,
0xa8
,
0x42
,
0x1d
,
0xec
,
0xbd
,
0x8a
,
0xda
,
0xae
,
0xc3
,
0xe8
,
0x08
,
0x20
,
0x07
,
0x9b
,
0xe8
,
0xc8
,
0x87
,
0x4b
,
0x75
,
0x24
,
0x4f
,
0x08
,
0x6d
,
0x1d
,
0x65
,
0x07
,
0xfb
,
0xbb
,
0x66
,
0x34
,
0xf9
,
0x05
,
0x4a
,
0xb6
,
0xd2
,
0xd8
,
0x67
,
0xba
,
0x5d
,
0xbb
,
0x92
,
0x6e
,
0x3f
,
0x84
,
0xf6
,
0x11
,
0xe3
,
0xfe
,
0xc4
,
0xe8
,
0xab
,
0xad
,
0xaf
,
0x0b
,
0x28
,
0x17
,
0xd5
,
0x1e
,
0xf2
,
0x05
,
0xd8
,
0x31
,
0x9e
,
0x6a
,
0x91
,
0x59
,
0x52
,
0xc8
,
0xc2
,
0x35
,
0xa5
,
0x2a
,
0xa3
,
0xb2
,
0x0b
,
0xeb
,
0x55
,
0x5d
,
0x20
,
0x5b
,
0xd0
,
0x09
,
0x58
,
0xfc
,
0x7a
,
0xe2
,
0xa1
,
0x8f
,
0x12
,
0x3d
,
0xa7
,
0xde
,
0xb3
,
0xfa
,
0x4d
,
0xda
,
0x56
,
0xbe
,
0x51
,
0xe2
,
0xca
,
0xfd
,
0x8c
,
0x1b
,
0xf9
,
0x9f
,
0x71
,
0x5e
,
0x06
,
0x9b
,
0x45
,
0x19
,
0xec
,
0x42
,
0x33
,
0xc6
,
0xe9
,
0xf9
,
0xd4
,
0x47
,
0xcf
,
0x69
,
0xe9
,
0x0d
,
0x33
,
0xdb
,
0x7d
,
0x0c
,
0xb7
,
0x47
,
0x71
,
0x34
,
0x2b
,
0x48
,
0x4b
,
0x4e
,
0x17
,
0xac
,
0x82
,
0x2e
,
0x0c
,
0xff
,
0xaa
,
0x43
,
0x27
,
0x21
,
0x2e
,
0x79
,
0xe1
,
0x90
,
0x19
,
0x90
,
0x3d
,
0x94
,
0xbb
,
0x51
,
0x30
,
0x8b
,
0x42
,
0x0c
,
0x65
,
0xf2
,
0xe7
,
0x21
,
0x4f
,
0x97
,
0xfc
,
0xb4
,
0x17
,
0x43
,
0x0d
,
0x64
,
0xf7
,
0xa3
,
0x25
,
0x19
,
0xa5
,
0x70
,
0x77
,
0x8d
,
0x04
,
0x1a
,
0xf1
,
0x80
,
0x07
,
0x78
,
0xc0
,
0xa7
,
0xaf
,
0x77
,
0x4f
,
0x58
,
0x18
,
0xa2
,
0x7f
,
0x11
,
0x62
,
0x29
,
0x34
,
0x45
,
0xfc
,
0xa0
,
0x98
,
0x61
,
0x8c
,
0x57
,
0x32
,
0xe6
,
0xe1
,
0x71
,
0x3a
,
0xf6
,
0xee
,
0x1a
,
0x39
,
0x85
,
0xbb
,
0x7b
,
0xa8
,
0xd1
,
0xb9
,
0x90
,
0x7c
,
0x2a
,
0x52
,
0xc0
,
0xe1
,
0x72
,
0xc0
,
0x85
,
0xe0
,
0x2b
,
0x42
,
0x4e
,
0xa1
,
0x93
,
0x7f
,
0x54
,
0x91
,
0x8f
,
0xab
,
0x26
,
0xad
,
0xe2
,
0x41
,
0xd8
,
0xed
,
0x5f
,
0x1e
,
0x98
,
0x81
,
0xfc
,
0x00
,
0xf0
,
0x66
,
0x58
,
0xc9
,
0x6a
,
0xc3
,
0xbc
,
0xd8
,
0xa5
,
0x72
,
0x58
,
0xb6
,
0x3d
,
0x87
,
0x8d
,
0xe2
,
0x6b
,
0x84
,
0x7c
,
0x52
,
0x95
,
0x5b
,
0xf9
,
0x56
,
0xeb
,
0x7e
,
0xba
,
0x4a
,
0x68
,
0x06
,
0x15
,
0xc3
,
0xe6
,
0x82
,
0x6e
,
0x91
,
0xc7
,
0x17
,
0x6d
,
0x51
,
0x96
,
0xee
,
0xee
,
0x93
,
0x15
,
0xa3
,
0x33
,
0xcc
,
0x7d
,
0x68
,
0x65
,
0xb7
,
0x86
,
0x3c
,
0xaa
,
0xca
,
0x2e
,
0x5f
,
0xaa
,
0xee
,
0x45
,
0x8a
,
0xe9
,
0xae
,
0x0d
,
0x7f
,
0xb7
,
0x8d
,
0xca
,
0xe9
,
0x96
,
0xbf
,
0xbd
,
0x56
,
0x37
,
0x7f
,
0xad
,
0x0e
,
0xa0
,
0x9d
,
0x7b
,
0x99
,
0x92
,
0xca
,
0x59
,
0x5e
,
0x7c
,
0xba
,
0x5e
,
0xd2
,
0xb7
,
0x9d
,
0xcf
,
0xbe
,
0x1f
,
0x1e
,
0x73
,
0x79
,
0x32
,
0x3f
,
0x54
,
0x2b
,
0xdb
,
0x49
,
0xe8
,
0x13
,
0x1e
,
0x99
,
0xaf
,
0xed
,
0xb4
,
0x80
,
0x6d
,
0x9d
,
0xbd
,
0xad
,
0x51
,
0x66
,
0x87
,
0x87
,
0x75
,
0x6d
,
0x3e
,
0xfb
,
0x27
,
0x00
,
0x00
,
0xff
,
0xff
,
0x41
,
0x8a
,
0x38
,
0xec
,
0x30
,
0x0e
,
0x00
,
0x00
,
}
// Reference imports to suppress errors if they are not otherwise used.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录