mirror of
https://github.com/milvus-io/milvus.git
synced 2026-10-28 08:55:40 +08:00
enhance: define snapshot-owned clustering contracts
Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
This commit is contained in:
1 parent
4f99c09bd1
commit
a537f3a8aa
21 files changed
+6924
-5274
No files matched your search
+7
-1
@@ -965,7 +965,8 @@ dataCoord:
|
||||
newDataSizeThreshold: 512m # If new data size is large than newDataSizeThreshold, execute clustering compaction
|
||||
preferSegmentSizeRatio: 0.8
|
||||
maxSegmentSizeRatio: 1
|
||||
maxTrainSizeRatio: 0.8 # max data size ratio in Kmeans train, if larger than it, will down sampling to meet this limit
|
||||
maxTrainSizeRatio: 0.8 # Fraction of worker memory used to budget KMeans training data; sample when the input exceeds this budget.
|
||||
chunkSizePerCentroid: 8MB # Positive target raw vector bytes per centroid, not a hard chunk size limit.
|
||||
maxCentroidsNum: 10240 # maximum centroids number in Kmeans train
|
||||
minCentroidsNum: 16 # minimum centroids number in Kmeans train
|
||||
minClusterSizeRatio: 0.01 # minimum cluster size / avg size in Kmeans train
|
||||
@@ -1787,6 +1788,11 @@ streaming:
|
||||
# Any configuration related to the knowhere vector search engine
|
||||
knowhere:
|
||||
enable: true # When enable this configuration, the index parameters defined following will be automatically populated as index parameters, without requiring user input.
|
||||
cluster:
|
||||
type: KMEANS # Knowhere clustering implementation name.
|
||||
analyze: # Provider parameters; coordinator-owned shape and sampling fields take precedence.
|
||||
compactionPlan:
|
||||
planner: ivf
|
||||
AISAQ:
|
||||
build:
|
||||
max_degree: 56 # Maximum degree of the Vamana graph
|
||||
|
||||
@@ -21,11 +21,15 @@ import (
|
||||
"strconv"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/json"
|
||||
"github.com/milvus-io/milvus/pkg/v3/proto/clusteringpb"
|
||||
"github.com/milvus-io/milvus/pkg/v3/util/merr"
|
||||
)
|
||||
|
||||
type SegmentStats struct {
|
||||
FieldStats []FieldStats `json:"fieldStats"`
|
||||
NumRows int
|
||||
// Ranges map the enclosing snapshot's clustering field entries to physical rows.
|
||||
ClusteringRanges []*clusteringpb.ClusteringRange `json:"clusteringRanges,omitempty"`
|
||||
}
|
||||
|
||||
func NewSegmentStats(fieldStats []FieldStats, rows int) *SegmentStats {
|
||||
@@ -36,8 +40,9 @@ func NewSegmentStats(fieldStats []FieldStats, rows int) *SegmentStats {
|
||||
}
|
||||
|
||||
type PartitionStatsSnapshot struct {
|
||||
SegmentStats map[UniqueID]SegmentStats `json:"segmentStats"`
|
||||
Version int64
|
||||
SegmentStats map[UniqueID]SegmentStats `json:"segmentStats"`
|
||||
Version int64
|
||||
ClusteringStats *clusteringpb.PartitionClusteringStats `json:"clusteringStats,omitempty"`
|
||||
}
|
||||
|
||||
func NewPartitionStatsSnapshot() *PartitionStatsSnapshot {
|
||||
@@ -62,26 +67,29 @@ func (ps *PartitionStatsSnapshot) UpdateSegmentStats(segmentID UniqueID, segment
|
||||
}
|
||||
|
||||
func DeserializePartitionsStatsSnapshot(data []byte) (*PartitionStatsSnapshot, error) {
|
||||
var messageMap map[string]*json.RawMessage
|
||||
err := json.Unmarshal(data, &messageMap)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
partitionStats := &PartitionStatsSnapshot{}
|
||||
if err := json.Unmarshal(data, partitionStats); err != nil {
|
||||
return nil, wrapPartitionStatsDecodeError(err, "deserialize partition stats snapshot")
|
||||
}
|
||||
|
||||
partitionStats := &PartitionStatsSnapshot{
|
||||
SegmentStats: make(map[UniqueID]SegmentStats),
|
||||
}
|
||||
err = json.Unmarshal(*messageMap["segmentStats"], &partitionStats.SegmentStats)
|
||||
if err != nil {
|
||||
if err := partitionStats.ValidateClusteringStats(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return partitionStats, nil
|
||||
}
|
||||
|
||||
func SerializePartitionStatsSnapshot(partStats *PartitionStatsSnapshot) ([]byte, error) {
|
||||
if partStats == nil {
|
||||
return nil, merr.WrapErrServiceInternalMsg("nil partition stats snapshot")
|
||||
}
|
||||
if err := partStats.ValidateClusteringStats(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
partData, err := json.Marshal(partStats)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
if merr.IsMilvusError(err) {
|
||||
return nil, merr.Wrap(err, "serialize partition stats snapshot")
|
||||
}
|
||||
return nil, merr.WrapErrSerializationFailed(err, "serialize partition stats snapshot")
|
||||
}
|
||||
return partData, nil
|
||||
}
|
||||
|
||||
@@ -0,0 +1,282 @@
|
||||
// Licensed to the LF AI & Data foundation under one
|
||||
// or more contributor license agreements. See the NOTICE file
|
||||
// distributed with this work for additional information
|
||||
// regarding copyright ownership. The ASF licenses this file
|
||||
// to you under the Apache License, Version 2.0 (the
|
||||
// "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package storage
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"strings"
|
||||
|
||||
"google.golang.org/protobuf/encoding/protojson"
|
||||
|
||||
"github.com/milvus-io/milvus-proto/go-api/v3/schemapb"
|
||||
"github.com/milvus-io/milvus/internal/json"
|
||||
"github.com/milvus-io/milvus/pkg/v3/common"
|
||||
"github.com/milvus-io/milvus/pkg/v3/proto/clusteringpb"
|
||||
"github.com/milvus-io/milvus/pkg/v3/util/merr"
|
||||
"github.com/milvus-io/milvus/pkg/v3/util/typeutil"
|
||||
)
|
||||
|
||||
const PartitionClusteringStatsFormatVersion uint32 = 1
|
||||
|
||||
// JSON can return a typed error from a nested FieldStats or range decoder.
|
||||
// Preserve that classification rather than replacing it with a parse error.
|
||||
func wrapPartitionStatsDecodeError(err error, context string) error {
|
||||
if merr.IsMilvusError(err) {
|
||||
return merr.Wrap(err, context)
|
||||
}
|
||||
return merr.WrapErrDataIntegrity(err, "%s", context)
|
||||
}
|
||||
|
||||
// The existing JSON envelope stays unchanged. New protobuf values use protojson
|
||||
// so int64 range offsets, counts and group segment IDs survive a round trip.
|
||||
type partitionStatsJSON struct {
|
||||
SegmentStats map[UniqueID]SegmentStats `json:"segmentStats"`
|
||||
Version int64
|
||||
ClusteringStats json.RawMessage `json:"clusteringStats,omitempty"`
|
||||
}
|
||||
|
||||
func (ps PartitionStatsSnapshot) MarshalJSON() ([]byte, error) {
|
||||
wire := partitionStatsJSON{SegmentStats: ps.SegmentStats, Version: ps.Version}
|
||||
if ps.ClusteringStats != nil {
|
||||
encoded, err := protojson.Marshal(ps.ClusteringStats)
|
||||
if err != nil {
|
||||
return nil, merr.WrapErrSerializationFailed(err, "encode partition clustering stats")
|
||||
}
|
||||
wire.ClusteringStats = encoded
|
||||
}
|
||||
return json.Marshal(wire)
|
||||
}
|
||||
|
||||
func (ps *PartitionStatsSnapshot) UnmarshalJSON(data []byte) error {
|
||||
var wire partitionStatsJSON
|
||||
if err := json.Unmarshal(data, &wire); err != nil {
|
||||
return wrapPartitionStatsDecodeError(err, "decode partition stats snapshot")
|
||||
}
|
||||
// A missing segmentStats field used to dereference a nil RawMessage. Reject
|
||||
// it explicitly, but preserve legacy snapshots with a null segment map.
|
||||
var fields map[string]json.RawMessage
|
||||
if err := json.Unmarshal(data, &fields); err != nil {
|
||||
return merr.WrapErrDataIntegrity(err, "decode partition stats fields")
|
||||
}
|
||||
if _, ok := fields["segmentStats"]; !ok {
|
||||
return merr.WrapErrDataIntegrityMsg("partition stats snapshot has no segmentStats")
|
||||
}
|
||||
next := PartitionStatsSnapshot{SegmentStats: wire.SegmentStats, Version: wire.Version}
|
||||
if len(wire.ClusteringStats) != 0 && !bytes.Equal(bytes.TrimSpace(wire.ClusteringStats), []byte("null")) {
|
||||
next.ClusteringStats = &clusteringpb.PartitionClusteringStats{}
|
||||
if err := protojson.Unmarshal(wire.ClusteringStats, next.ClusteringStats); err != nil {
|
||||
return merr.WrapErrDataIntegrity(err, "decode partition clustering stats")
|
||||
}
|
||||
}
|
||||
*ps = next
|
||||
return nil
|
||||
}
|
||||
|
||||
type segmentStatsJSON struct {
|
||||
FieldStats []FieldStats `json:"fieldStats"`
|
||||
NumRows int
|
||||
ClusteringRanges []json.RawMessage `json:"clusteringRanges,omitempty"`
|
||||
}
|
||||
|
||||
func (stats SegmentStats) MarshalJSON() ([]byte, error) {
|
||||
wire := segmentStatsJSON{FieldStats: stats.FieldStats, NumRows: stats.NumRows}
|
||||
for _, entry := range stats.ClusteringRanges {
|
||||
if entry == nil {
|
||||
return nil, merr.WrapErrDataIntegrityMsg("nil clustering range")
|
||||
}
|
||||
encoded, err := protojson.Marshal(entry)
|
||||
if err != nil {
|
||||
return nil, merr.WrapErrSerializationFailed(err, "encode clustering range")
|
||||
}
|
||||
wire.ClusteringRanges = append(wire.ClusteringRanges, encoded)
|
||||
}
|
||||
return json.Marshal(wire)
|
||||
}
|
||||
|
||||
func (stats *SegmentStats) UnmarshalJSON(data []byte) error {
|
||||
var wire segmentStatsJSON
|
||||
if err := json.Unmarshal(data, &wire); err != nil {
|
||||
return wrapPartitionStatsDecodeError(err, "decode segment stats")
|
||||
}
|
||||
next := SegmentStats{FieldStats: wire.FieldStats, NumRows: wire.NumRows}
|
||||
for _, encoded := range wire.ClusteringRanges {
|
||||
if bytes.Equal(bytes.TrimSpace(encoded), []byte("null")) {
|
||||
return merr.WrapErrDataIntegrityMsg("null clustering range")
|
||||
}
|
||||
entry := &clusteringpb.ClusteringRange{}
|
||||
if err := protojson.Unmarshal(encoded, entry); err != nil {
|
||||
return merr.WrapErrDataIntegrity(err, "decode clustering range")
|
||||
}
|
||||
next.ClusteringRanges = append(next.ClusteringRanges, entry)
|
||||
}
|
||||
*stats = next
|
||||
return nil
|
||||
}
|
||||
|
||||
// ValidateClusteringStats checks metadata without loading cluster/index files.
|
||||
// Readers must validate typed cluster descriptions and matching index labels.
|
||||
// A valid layout must still be bound to its matching segment view before pruning.
|
||||
// Selection and publication must separately enforce complete group replacement
|
||||
// against the pinned base; this validator only checks one snapshot's structure.
|
||||
func (ps *PartitionStatsSnapshot) ValidateClusteringStats() error {
|
||||
if ps == nil {
|
||||
return merr.WrapErrDataIntegrityMsg("nil partition stats snapshot")
|
||||
}
|
||||
clustering := ps.ClusteringStats
|
||||
if clustering == nil {
|
||||
for _, stats := range ps.SegmentStats {
|
||||
if len(stats.ClusteringRanges) != 0 {
|
||||
return merr.WrapErrDataIntegrityMsg("clustering ranges have no enclosing cluster table")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
if clustering.FormatVersion != PartitionClusteringStatsFormatVersion {
|
||||
return merr.Wrapf(merr.ErrServiceUnimplemented, "unsupported partition clustering stats format %d", clustering.FormatVersion)
|
||||
}
|
||||
if ps.Version <= 0 || clustering.FieldId <= 0 {
|
||||
return merr.WrapErrDataIntegrityMsg("invalid clustering snapshot version or field")
|
||||
}
|
||||
if err := validateClusteringField(clustering); err != nil {
|
||||
return err
|
||||
}
|
||||
if (clustering.NumClusters == 0) != (clustering.ClustersFile == "") {
|
||||
return merr.WrapErrDataIntegrityMsg("cluster count and file reference disagree")
|
||||
}
|
||||
if err := validateClusteringIndex(clustering); err != nil {
|
||||
return err
|
||||
}
|
||||
segmentGroups := make(map[UniqueID]int)
|
||||
for groupOffset, group := range clustering.Groups {
|
||||
if group == nil || len(group.SegmentIds) == 0 {
|
||||
return merr.WrapErrDataIntegrityMsg("empty clustering group %d", groupOffset)
|
||||
}
|
||||
for _, segmentID := range group.SegmentIds {
|
||||
if _, exists := ps.SegmentStats[segmentID]; !exists {
|
||||
return merr.WrapErrDataIntegrityMsg("clustering group %d references unknown segment %d", groupOffset, segmentID)
|
||||
}
|
||||
if _, exists := segmentGroups[segmentID]; exists {
|
||||
return merr.WrapErrDataIntegrityMsg("duplicate clustering group membership for segment %d", segmentID)
|
||||
}
|
||||
segmentGroups[segmentID] = groupOffset
|
||||
}
|
||||
}
|
||||
if len(segmentGroups) != len(ps.SegmentStats) {
|
||||
return merr.WrapErrDataIntegrityMsg("clustering groups do not cover every segment")
|
||||
}
|
||||
// Allocate only for offsets actually present in the decoded ranges, not an
|
||||
// untrusted count from metadata that could otherwise allocate gigabytes.
|
||||
// A cluster's group is derived from its ranges' segment ownership, so no
|
||||
// second membership list needs to be persisted or kept in sync.
|
||||
clusterGroups := make(map[uint32]int)
|
||||
for segmentID, stats := range ps.SegmentStats {
|
||||
if segmentID <= 0 || stats.NumRows <= 0 {
|
||||
return merr.WrapErrDataIntegrityMsg("invalid covered segment %d or row count", segmentID)
|
||||
}
|
||||
seen := make(map[uint32]struct{}, len(stats.ClusteringRanges))
|
||||
var end int64
|
||||
for _, entry := range stats.ClusteringRanges {
|
||||
if entry == nil || entry.ClusterOffset >= clustering.NumClusters {
|
||||
return merr.WrapErrDataIntegrityMsg("invalid cluster offset in segment %d", segmentID)
|
||||
}
|
||||
if _, exists := seen[entry.ClusterOffset]; exists {
|
||||
return merr.WrapErrDataIntegrityMsg("non-contiguous cluster in segment %d", segmentID)
|
||||
}
|
||||
// Subtraction avoids overflow in row_offset + row_count.
|
||||
if entry.RowOffset != end || entry.RowCount <= 0 || entry.RowCount > int64(stats.NumRows)-end {
|
||||
return merr.WrapErrDataIntegrityMsg("clustering ranges overlap, have a gap or exceed segment %d", segmentID)
|
||||
}
|
||||
end += entry.RowCount
|
||||
seen[entry.ClusterOffset] = struct{}{}
|
||||
groupOffset := segmentGroups[segmentID]
|
||||
if previous, exists := clusterGroups[entry.ClusterOffset]; exists && previous != groupOffset {
|
||||
return merr.WrapErrDataIntegrityMsg("cluster %d spans clustering groups %d and %d", entry.ClusterOffset, previous, groupOffset)
|
||||
}
|
||||
clusterGroups[entry.ClusterOffset] = groupOffset
|
||||
}
|
||||
if end != int64(stats.NumRows) {
|
||||
return merr.WrapErrDataIntegrityMsg("clustering ranges do not cover segment %d", segmentID)
|
||||
}
|
||||
}
|
||||
if uint64(len(clusterGroups)) != uint64(clustering.NumClusters) {
|
||||
return merr.WrapErrDataIntegrityMsg("cluster count does not match referenced offsets")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Keep type admission separate from the common index and physical-range rules.
|
||||
// Scalar mapping must supply its typed cluster descriptions and sorted ranges
|
||||
// before scalar snapshots can be admitted. Existing scalar FieldStats are
|
||||
// unaffected. Half-precision vector admission belongs to PR5.
|
||||
func validateClusteringField(clustering *clusteringpb.PartitionClusteringStats) error {
|
||||
switch clustering.DataType {
|
||||
case schemapb.DataType_FloatVector:
|
||||
if clustering.Dim <= 0 {
|
||||
return merr.WrapErrDataIntegrityMsg("invalid clustering vector dimension")
|
||||
}
|
||||
return nil
|
||||
default:
|
||||
return merr.Wrapf(merr.ErrServiceUnimplemented, "unsupported clustering stats field type %s", clustering.DataType)
|
||||
}
|
||||
}
|
||||
|
||||
func validateClusteringIndex(clustering *clusteringpb.PartitionClusteringStats) error {
|
||||
index := clustering.ClusteringIndex
|
||||
if clustering.NumClusters == 0 {
|
||||
if index != nil {
|
||||
return merr.WrapErrDataIntegrityMsg("empty cluster table has an index")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
if index == nil {
|
||||
return merr.WrapErrDataIntegrityMsg("nonempty cluster table has no index")
|
||||
}
|
||||
if index.IndexEngineVersion <= 0 || index.IndexSize <= 0 {
|
||||
return merr.WrapErrDataIntegrityMsg("invalid clustering index engine version or size")
|
||||
}
|
||||
params := make(map[string]string, len(index.IndexParams))
|
||||
for _, param := range index.IndexParams {
|
||||
if param == nil || strings.TrimSpace(param.Key) == "" {
|
||||
return merr.WrapErrDataIntegrityMsg("invalid clustering index parameter")
|
||||
}
|
||||
if _, exists := params[param.Key]; exists {
|
||||
return merr.WrapErrDataIntegrityMsg("duplicate clustering index parameter %s", param.Key)
|
||||
}
|
||||
params[param.Key] = param.Value
|
||||
}
|
||||
if strings.TrimSpace(params[common.IndexTypeKey]) == "" {
|
||||
return merr.WrapErrDataIntegrityMsg("clustering index requires index_type")
|
||||
}
|
||||
if typeutil.IsVectorType(clustering.DataType) && strings.TrimSpace(params[common.MetricTypeKey]) == "" {
|
||||
return merr.WrapErrDataIntegrityMsg("vector clustering index requires metric_type")
|
||||
}
|
||||
if len(index.IndexFilePaths) == 0 {
|
||||
return merr.WrapErrDataIntegrityMsg("clustering index has no files")
|
||||
}
|
||||
files := make(map[string]struct{}, len(index.IndexFilePaths))
|
||||
for _, file := range index.IndexFilePaths {
|
||||
// Complete object keys are opaque; do not normalize or prepend a root.
|
||||
if file == "" || file == clustering.ClustersFile {
|
||||
return merr.WrapErrDataIntegrityMsg("invalid clustering index file reference")
|
||||
}
|
||||
if _, exists := files[file]; exists {
|
||||
return merr.WrapErrDataIntegrityMsg("duplicate clustering index file reference")
|
||||
}
|
||||
files[file] = struct{}{}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -0,0 +1,390 @@
|
||||
// Licensed to the LF AI & Data foundation under one
|
||||
// or more contributor license agreements. See the NOTICE file
|
||||
// distributed with this work for additional information
|
||||
// regarding copyright ownership. The ASF licenses this file
|
||||
// to you under the Apache License, Version 2.0 (the
|
||||
// "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package storage
|
||||
|
||||
import (
|
||||
"math"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
"google.golang.org/protobuf/proto"
|
||||
|
||||
"github.com/milvus-io/milvus-proto/go-api/v3/commonpb"
|
||||
"github.com/milvus-io/milvus-proto/go-api/v3/schemapb"
|
||||
"github.com/milvus-io/milvus/internal/json"
|
||||
"github.com/milvus-io/milvus/pkg/v3/proto/clusteringpb"
|
||||
"github.com/milvus-io/milvus/pkg/v3/util/merr"
|
||||
)
|
||||
|
||||
func clusteringSnapshotFixture() *PartitionStatsSnapshot {
|
||||
return &PartitionStatsSnapshot{
|
||||
Version: 9007199254740993,
|
||||
ClusteringStats: &clusteringpb.PartitionClusteringStats{
|
||||
FormatVersion: PartitionClusteringStatsFormatVersion, FieldId: 100,
|
||||
DataType: schemapb.DataType_FloatVector, Dim: 2,
|
||||
NumClusters: 2, ClustersFile: "files/part_stats/1/2/channel/9007199254740993.clusters",
|
||||
Groups: []*clusteringpb.ClusteringGroup{{SegmentIds: []int64{10, 20}}},
|
||||
ClusteringIndex: &clusteringpb.ClusteringIndexInfo{
|
||||
IndexParams: []*commonpb.KeyValuePair{
|
||||
{Key: "index_type", Value: "HNSW"},
|
||||
{Key: "metric_type", Value: "L2"},
|
||||
{Key: "M", Value: "16"},
|
||||
},
|
||||
IndexFilePaths: []string{"files/part_stats/1/2/channel/9007199254740993.clustering_index/HNSW"},
|
||||
IndexEngineVersion: 9,
|
||||
IndexSize: 4096,
|
||||
},
|
||||
},
|
||||
SegmentStats: map[int64]SegmentStats{
|
||||
10: {NumRows: 5, ClusteringRanges: []*clusteringpb.ClusteringRange{
|
||||
{ClusterOffset: 0, RowOffset: 0, RowCount: 2},
|
||||
{ClusterOffset: 1, RowOffset: 2, RowCount: 3},
|
||||
}},
|
||||
20: {NumRows: 1, ClusteringRanges: []*clusteringpb.ClusteringRange{
|
||||
{ClusterOffset: 1, RowOffset: 0, RowCount: 1},
|
||||
}},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func TestClusteringSnapshotRoundTripAndRemap(t *testing.T) {
|
||||
original := clusteringSnapshotFixture()
|
||||
data, err := SerializePartitionStatsSnapshot(original)
|
||||
require.NoError(t, err)
|
||||
decoded, err := DeserializePartitionsStatsSnapshot(data)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, original.Version, decoded.Version)
|
||||
require.True(t, proto.Equal(original.ClusteringStats, decoded.ClusteringStats))
|
||||
for id, stats := range original.SegmentStats {
|
||||
require.Equal(t, stats.NumRows, decoded.SegmentStats[id].NumRows)
|
||||
for i, entry := range stats.ClusteringRanges {
|
||||
require.True(t, proto.Equal(entry, decoded.SegmentStats[id].ClusteringRanges[i]))
|
||||
}
|
||||
}
|
||||
|
||||
// A new complete snapshot may renumber retained clusters. Physical ranges
|
||||
// keep their row order; numerical cluster offsets need not be sorted.
|
||||
decoded.Version++
|
||||
// The merger writes the reordered vectors to a new immutable file. This
|
||||
// metadata test checks reference ownership; it does not perform file IO.
|
||||
decoded.ClusteringStats.ClustersFile = "files/part_stats/1/2/channel/9007199254740994.clusters"
|
||||
decoded.ClusteringStats.ClusteringIndex.IndexFilePaths[0] = "files/part_stats/1/2/channel/9007199254740994.clustering_index/HNSW"
|
||||
// Segment membership is independent of the cluster offset order. Mutating
|
||||
// the decoded member slice must not change the published snapshot's group.
|
||||
decoded.ClusteringStats.Groups[0].SegmentIds[0] = 20
|
||||
decoded.ClusteringStats.Groups[0].SegmentIds[1] = 10
|
||||
for _, stats := range decoded.SegmentStats {
|
||||
for _, entry := range stats.ClusteringRanges {
|
||||
entry.ClusterOffset = 1 - entry.ClusterOffset
|
||||
}
|
||||
}
|
||||
require.NoError(t, decoded.ValidateClusteringStats())
|
||||
require.Equal(t, []int64{10, 20}, original.ClusteringStats.Groups[0].SegmentIds)
|
||||
require.Equal(t, uint32(0), original.SegmentStats[10].ClusteringRanges[0].ClusterOffset)
|
||||
require.Equal(t, "files/part_stats/1/2/channel/9007199254740993.clusters", original.ClusteringStats.ClustersFile)
|
||||
require.Equal(t, "files/part_stats/1/2/channel/9007199254740993.clustering_index/HNSW", original.ClusteringStats.ClusteringIndex.IndexFilePaths[0])
|
||||
unchanged, err := SerializePartitionStatsSnapshot(original)
|
||||
require.NoError(t, err)
|
||||
require.JSONEq(t, string(data), string(unchanged))
|
||||
}
|
||||
|
||||
func TestClusteringSnapshotLegacyJSON(t *testing.T) {
|
||||
for _, document := range []string{
|
||||
`{"segmentStats":null}`,
|
||||
`{"segmentStats":{},"Version":123}`,
|
||||
`{"segmentStats":{"10":{"NumRows":5,"fieldStats":[{"fieldID":100,"type":5,"min":1,"max":5}]}},"Version":123}`,
|
||||
`{"segmentStats":{"10":{"NumRows":5,"fieldStats":[{"fieldID":101,"type":101,"centroids":[[1,2]]}]}},"Version":123}`,
|
||||
} {
|
||||
decoded, err := DeserializePartitionsStatsSnapshot([]byte(document))
|
||||
require.NoError(t, err, document)
|
||||
require.Nil(t, decoded.ClusteringStats)
|
||||
encoded, err := SerializePartitionStatsSnapshot(decoded)
|
||||
require.NoError(t, err)
|
||||
require.NotContains(t, string(encoded), "clusteringStats")
|
||||
require.NotContains(t, string(encoded), "clusteringRanges")
|
||||
again, err := DeserializePartitionsStatsSnapshot(encoded)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, decoded, again)
|
||||
}
|
||||
}
|
||||
|
||||
func TestClusteringSnapshotEmptyAndLargeRanges(t *testing.T) {
|
||||
snapshot := clusteringSnapshotFixture()
|
||||
snapshot.ClusteringStats.NumClusters = 0
|
||||
snapshot.ClusteringStats.ClustersFile = ""
|
||||
snapshot.ClusteringStats.ClusteringIndex = nil
|
||||
snapshot.ClusteringStats.Groups = nil
|
||||
snapshot.SegmentStats = map[int64]SegmentStats{}
|
||||
encoded, err := SerializePartitionStatsSnapshot(snapshot)
|
||||
require.NoError(t, err)
|
||||
decoded, err := DeserializePartitionsStatsSnapshot(encoded)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, decoded.ClusteringStats)
|
||||
require.Empty(t, decoded.SegmentStats)
|
||||
require.Nil(t, decoded.ClusteringStats.ClusteringIndex)
|
||||
require.Empty(t, decoded.ClusteringStats.Groups)
|
||||
|
||||
snapshot = clusteringSnapshotFixture()
|
||||
snapshot.ClusteringStats.NumClusters = 1
|
||||
snapshot.ClusteringStats.ClusteringIndex.IndexSize = 9007199254740993
|
||||
const largeSegmentID int64 = 9007199254740993
|
||||
snapshot.ClusteringStats.Groups = []*clusteringpb.ClusteringGroup{{SegmentIds: []int64{largeSegmentID}}}
|
||||
snapshot.SegmentStats = map[int64]SegmentStats{largeSegmentID: {
|
||||
NumRows: math.MaxInt64,
|
||||
ClusteringRanges: []*clusteringpb.ClusteringRange{{RowCount: math.MaxInt64}},
|
||||
}}
|
||||
encoded, err = SerializePartitionStatsSnapshot(snapshot)
|
||||
require.NoError(t, err)
|
||||
decoded, err = DeserializePartitionsStatsSnapshot(encoded)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, int64(math.MaxInt64), decoded.SegmentStats[largeSegmentID].ClusteringRanges[0].RowCount)
|
||||
require.Equal(t, []int64{largeSegmentID}, decoded.ClusteringStats.Groups[0].SegmentIds)
|
||||
require.Equal(t, int64(9007199254740993), decoded.ClusteringStats.ClusteringIndex.IndexSize)
|
||||
}
|
||||
|
||||
func TestClusteringSnapshotRejectsInvalidIndex(t *testing.T) {
|
||||
cases := []struct {
|
||||
name string
|
||||
mutate func(*clusteringpb.PartitionClusteringStats)
|
||||
}{
|
||||
{"missing index", func(s *clusteringpb.PartitionClusteringStats) { s.ClusteringIndex = nil }},
|
||||
{"zero engine version", func(s *clusteringpb.PartitionClusteringStats) { s.ClusteringIndex.IndexEngineVersion = 0 }},
|
||||
{"negative engine version", func(s *clusteringpb.PartitionClusteringStats) { s.ClusteringIndex.IndexEngineVersion = -1 }},
|
||||
{"zero size", func(s *clusteringpb.PartitionClusteringStats) { s.ClusteringIndex.IndexSize = 0 }},
|
||||
{"negative size", func(s *clusteringpb.PartitionClusteringStats) { s.ClusteringIndex.IndexSize = -1 }},
|
||||
{"missing files", func(s *clusteringpb.PartitionClusteringStats) { s.ClusteringIndex.IndexFilePaths = nil }},
|
||||
{"empty file", func(s *clusteringpb.PartitionClusteringStats) { s.ClusteringIndex.IndexFilePaths[0] = "" }},
|
||||
{"raw cluster description file", func(s *clusteringpb.PartitionClusteringStats) { s.ClusteringIndex.IndexFilePaths[0] = s.ClustersFile }},
|
||||
{"duplicate file", func(s *clusteringpb.PartitionClusteringStats) {
|
||||
s.ClusteringIndex.IndexFilePaths = append(s.ClusteringIndex.IndexFilePaths, s.ClusteringIndex.IndexFilePaths[0])
|
||||
}},
|
||||
{"missing parameters", func(s *clusteringpb.PartitionClusteringStats) { s.ClusteringIndex.IndexParams = nil }},
|
||||
{"missing index type", func(s *clusteringpb.PartitionClusteringStats) {
|
||||
s.ClusteringIndex.IndexParams = s.ClusteringIndex.IndexParams[1:]
|
||||
}},
|
||||
{"blank metric", func(s *clusteringpb.PartitionClusteringStats) { s.ClusteringIndex.IndexParams[1].Value = " " }},
|
||||
{"nil parameter", func(s *clusteringpb.PartitionClusteringStats) { s.ClusteringIndex.IndexParams[0] = nil }},
|
||||
{"empty parameter key", func(s *clusteringpb.PartitionClusteringStats) { s.ClusteringIndex.IndexParams[0].Key = "" }},
|
||||
{"duplicate parameter", func(s *clusteringpb.PartitionClusteringStats) {
|
||||
s.ClusteringIndex.IndexParams = append(s.ClusteringIndex.IndexParams, &commonpb.KeyValuePair{Key: "metric_type", Value: "IP"})
|
||||
}},
|
||||
{"index on empty table", func(s *clusteringpb.PartitionClusteringStats) {
|
||||
s.NumClusters = 0
|
||||
s.ClustersFile = ""
|
||||
}},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
snapshot := clusteringSnapshotFixture()
|
||||
tc.mutate(snapshot.ClusteringStats)
|
||||
if snapshot.ClusteringStats.NumClusters == 0 {
|
||||
snapshot.SegmentStats = map[int64]SegmentStats{}
|
||||
snapshot.ClusteringStats.Groups = nil
|
||||
}
|
||||
_, err := SerializePartitionStatsSnapshot(snapshot)
|
||||
require.ErrorIs(t, err, merr.ErrDataIntegrity)
|
||||
// Corrupt persisted metadata must also fail on the read boundary.
|
||||
encoded, err := json.Marshal(snapshot)
|
||||
require.NoError(t, err)
|
||||
_, err = DeserializePartitionsStatsSnapshot(encoded)
|
||||
require.ErrorIs(t, err, merr.ErrDataIntegrity)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestClusteringSnapshotGroupMembership(t *testing.T) {
|
||||
// Clusters 0/1 share the first group, including cluster 1 spanning two
|
||||
// segments. Cluster 2 belongs to a second, disjoint group.
|
||||
snapshot := clusteringSnapshotFixture()
|
||||
snapshot.ClusteringStats.NumClusters = 3
|
||||
snapshot.SegmentStats[30] = SegmentStats{NumRows: 4, ClusteringRanges: []*clusteringpb.ClusteringRange{
|
||||
{ClusterOffset: 2, RowCount: 4},
|
||||
}}
|
||||
snapshot.ClusteringStats.Groups = append(snapshot.ClusteringStats.Groups,
|
||||
&clusteringpb.ClusteringGroup{SegmentIds: []int64{30}})
|
||||
encoded, err := SerializePartitionStatsSnapshot(snapshot)
|
||||
require.NoError(t, err)
|
||||
decoded, err := DeserializePartitionsStatsSnapshot(encoded)
|
||||
require.NoError(t, err)
|
||||
require.True(t, proto.Equal(snapshot.ClusteringStats, decoded.ClusteringStats))
|
||||
|
||||
// Groups may also contain clusters with no shared segment. Membership is
|
||||
// defined by the segment directory, not by physical connectivity.
|
||||
snapshot.SegmentStats[10] = SegmentStats{NumRows: 5, ClusteringRanges: []*clusteringpb.ClusteringRange{
|
||||
{RowCount: 5},
|
||||
}}
|
||||
require.NoError(t, snapshot.ValidateClusteringStats())
|
||||
|
||||
// Offsets belong to each snapshot: swapping the group order and cluster
|
||||
// labels preserves all physical ranges and unique derived memberships.
|
||||
snapshot.ClusteringStats.Groups[0], snapshot.ClusteringStats.Groups[1] =
|
||||
snapshot.ClusteringStats.Groups[1], snapshot.ClusteringStats.Groups[0]
|
||||
for _, stats := range snapshot.SegmentStats {
|
||||
for _, entry := range stats.ClusteringRanges {
|
||||
entry.ClusterOffset = 2 - entry.ClusterOffset
|
||||
}
|
||||
}
|
||||
require.NoError(t, snapshot.ValidateClusteringStats())
|
||||
}
|
||||
|
||||
func TestClusteringSnapshotRejectsInvalidGroups(t *testing.T) {
|
||||
cases := []struct {
|
||||
name string
|
||||
mutate func(*PartitionStatsSnapshot)
|
||||
}{
|
||||
{"missing groups", func(s *PartitionStatsSnapshot) { s.ClusteringStats.Groups = nil }},
|
||||
{"nil group", func(s *PartitionStatsSnapshot) { s.ClusteringStats.Groups[0] = nil }},
|
||||
{"empty group", func(s *PartitionStatsSnapshot) { s.ClusteringStats.Groups[0].SegmentIds = nil }},
|
||||
{"unreferenced segment", func(s *PartitionStatsSnapshot) { s.ClusteringStats.Groups[0].SegmentIds = []int64{10} }},
|
||||
{"unknown segment", func(s *PartitionStatsSnapshot) { s.ClusteringStats.Groups[0].SegmentIds = []int64{10, 30} }},
|
||||
{"zero segment", func(s *PartitionStatsSnapshot) { s.ClusteringStats.Groups[0].SegmentIds = []int64{10, 0} }},
|
||||
{"negative segment", func(s *PartitionStatsSnapshot) { s.ClusteringStats.Groups[0].SegmentIds = []int64{10, -20} }},
|
||||
{"duplicate member", func(s *PartitionStatsSnapshot) { s.ClusteringStats.Groups[0].SegmentIds = []int64{10, 20, 10} }},
|
||||
{"segment in two groups", func(s *PartitionStatsSnapshot) {
|
||||
s.ClusteringStats.Groups = append(s.ClusteringStats.Groups, &clusteringpb.ClusteringGroup{SegmentIds: []int64{20}})
|
||||
}},
|
||||
{"cluster spans groups", func(s *PartitionStatsSnapshot) {
|
||||
s.ClusteringStats.Groups = []*clusteringpb.ClusteringGroup{{SegmentIds: []int64{10}}, {SegmentIds: []int64{20}}}
|
||||
}},
|
||||
{"cluster zero spans groups", func(s *PartitionStatsSnapshot) {
|
||||
s.ClusteringStats.Groups = []*clusteringpb.ClusteringGroup{{SegmentIds: []int64{10}}, {SegmentIds: []int64{20}}}
|
||||
s.SegmentStats[20].ClusteringRanges[0].ClusterOffset = 0
|
||||
}},
|
||||
{"groups on empty snapshot", func(s *PartitionStatsSnapshot) {
|
||||
s.ClusteringStats.NumClusters = 0
|
||||
s.ClusteringStats.ClustersFile = ""
|
||||
s.ClusteringStats.ClusteringIndex = nil
|
||||
s.SegmentStats = nil
|
||||
}},
|
||||
{"empty group on empty snapshot", func(s *PartitionStatsSnapshot) {
|
||||
s.ClusteringStats.NumClusters = 0
|
||||
s.ClusteringStats.ClustersFile = ""
|
||||
s.ClusteringStats.ClusteringIndex = nil
|
||||
s.ClusteringStats.Groups = []*clusteringpb.ClusteringGroup{{}}
|
||||
s.SegmentStats = nil
|
||||
}},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
snapshot := clusteringSnapshotFixture()
|
||||
tc.mutate(snapshot)
|
||||
_, err := SerializePartitionStatsSnapshot(snapshot)
|
||||
require.ErrorIs(t, err, merr.ErrDataIntegrity)
|
||||
// Bypass the write guard to verify corrupt persisted groups fail
|
||||
// through the real JSON decode and validation boundary as well.
|
||||
encoded, err := json.Marshal(snapshot)
|
||||
require.NoError(t, err)
|
||||
_, err = DeserializePartitionsStatsSnapshot(encoded)
|
||||
require.ErrorIs(t, err, merr.ErrDataIntegrity)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestClusteringSnapshotRejectsInvalidLayout(t *testing.T) {
|
||||
cases := []struct {
|
||||
name string
|
||||
mutate func(*PartitionStatsSnapshot)
|
||||
}{
|
||||
{"missing table", func(s *PartitionStatsSnapshot) { s.ClusteringStats = nil }},
|
||||
{"zero version", func(s *PartitionStatsSnapshot) { s.Version = 0 }},
|
||||
{"invalid field", func(s *PartitionStatsSnapshot) { s.ClusteringStats.FieldId = 0 }},
|
||||
{"invalid dimension", func(s *PartitionStatsSnapshot) { s.ClusteringStats.Dim = 0 }},
|
||||
{"missing cluster description file", func(s *PartitionStatsSnapshot) { s.ClusteringStats.ClustersFile = "" }},
|
||||
{"zero cluster count with file", func(s *PartitionStatsSnapshot) { s.ClusteringStats.NumClusters = 0 }},
|
||||
{"out of bounds maximum offset", func(s *PartitionStatsSnapshot) { s.SegmentStats[10].ClusteringRanges[0].ClusterOffset = math.MaxUint32 }},
|
||||
{"large untrusted count", func(s *PartitionStatsSnapshot) { s.ClusteringStats.NumClusters = math.MaxUint32 }},
|
||||
{"invalid segment", func(s *PartitionStatsSnapshot) {
|
||||
s.SegmentStats[0] = s.SegmentStats[10]
|
||||
s.ClusteringStats.Groups[0].SegmentIds = append(s.ClusteringStats.Groups[0].SegmentIds, 0)
|
||||
}},
|
||||
{"empty segment", func(s *PartitionStatsSnapshot) {
|
||||
s.SegmentStats[30] = SegmentStats{}
|
||||
s.ClusteringStats.Groups[0].SegmentIds = append(s.ClusteringStats.Groups[0].SegmentIds, 30)
|
||||
}},
|
||||
{"nil range", func(s *PartitionStatsSnapshot) { s.SegmentStats[10].ClusteringRanges[0] = nil }},
|
||||
{"out of bounds cluster", func(s *PartitionStatsSnapshot) { s.SegmentStats[10].ClusteringRanges[0].ClusterOffset = 2 }},
|
||||
{"duplicate cluster", func(s *PartitionStatsSnapshot) { s.SegmentStats[10].ClusteringRanges[1].ClusterOffset = 0 }},
|
||||
{"negative start", func(s *PartitionStatsSnapshot) { s.SegmentStats[10].ClusteringRanges[0].RowOffset = -1 }},
|
||||
{"empty range", func(s *PartitionStatsSnapshot) { s.SegmentStats[10].ClusteringRanges[0].RowCount = 0 }},
|
||||
{"negative count", func(s *PartitionStatsSnapshot) { s.SegmentStats[10].ClusteringRanges[0].RowCount = -1 }},
|
||||
{"gap", func(s *PartitionStatsSnapshot) { s.SegmentStats[10].ClusteringRanges[1].RowOffset = 3 }},
|
||||
{"overlap", func(s *PartitionStatsSnapshot) { s.SegmentStats[10].ClusteringRanges[1].RowOffset = 1 }},
|
||||
{"overflow", func(s *PartitionStatsSnapshot) { s.SegmentStats[10].ClusteringRanges[1].RowCount = math.MaxInt64 }},
|
||||
{"incomplete coverage", func(s *PartitionStatsSnapshot) { s.SegmentStats[10].ClusteringRanges[1].RowCount = 2 }},
|
||||
{"unreferenced cluster", func(s *PartitionStatsSnapshot) {
|
||||
s.ClusteringStats.NumClusters++
|
||||
}},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
snapshot := clusteringSnapshotFixture()
|
||||
tc.mutate(snapshot)
|
||||
_, err := SerializePartitionStatsSnapshot(snapshot)
|
||||
require.ErrorIs(t, err, merr.ErrDataIntegrity)
|
||||
// Bypass the serializer's guard to exercise rejection at read time.
|
||||
encoded, err := json.Marshal(snapshot)
|
||||
if tc.name == "nil range" {
|
||||
require.ErrorIs(t, err, merr.ErrDataIntegrity)
|
||||
return
|
||||
}
|
||||
require.NoError(t, err)
|
||||
_, err = DeserializePartitionsStatsSnapshot(encoded)
|
||||
require.ErrorIs(t, err, merr.ErrDataIntegrity)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestClusteringSnapshotDecodeErrors(t *testing.T) {
|
||||
for _, document := range []string{
|
||||
`{`, `null`, `{}`, `{"segmentStats":[]}`,
|
||||
`{"segmentStats":{"10":{"clusteringRanges":[null]}}}`,
|
||||
`{"segmentStats":{},"clusteringStats":{"numClusters":-1}}`,
|
||||
`{"segmentStats":{},"clusteringStats":{"numClusters":4294967296}}`,
|
||||
`{"segmentStats":{},"clusteringStats":{"groups":[{"segmentIds":["9223372036854775808"]}]}}`,
|
||||
`{"segmentStats":{"10":{"clusteringRanges":[{"rowCount":"9223372036854775808"}]}}}`,
|
||||
} {
|
||||
_, err := DeserializePartitionsStatsSnapshot([]byte(document))
|
||||
require.ErrorIs(t, err, merr.ErrDataIntegrity, document)
|
||||
}
|
||||
// The field decoder already assigns a code; the new envelope preserves it.
|
||||
_, err := DeserializePartitionsStatsSnapshot([]byte(`{"segmentStats":{"10":{"fieldStats":[{}]}}}`))
|
||||
require.ErrorIs(t, err, merr.ErrServiceInternal)
|
||||
require.Equal(t, merr.Code(merr.ErrServiceInternal), merr.Code(err))
|
||||
|
||||
for _, mutate := range []func(*PartitionStatsSnapshot){
|
||||
func(s *PartitionStatsSnapshot) { s.ClusteringStats.FormatVersion = 99 },
|
||||
func(s *PartitionStatsSnapshot) { s.ClusteringStats.DataType = schemapb.DataType_Float16Vector },
|
||||
func(s *PartitionStatsSnapshot) { s.ClusteringStats.DataType = schemapb.DataType_BFloat16Vector },
|
||||
// Scalar metadata has no vector dimension or metric. It must fail as an
|
||||
// unsupported capability until typed mapping/query support is available,
|
||||
// rather than being mistaken for malformed vector metadata or admitted.
|
||||
func(s *PartitionStatsSnapshot) {
|
||||
s.ClusteringStats.DataType = schemapb.DataType_Int64
|
||||
s.ClusteringStats.Dim = 0
|
||||
s.ClusteringStats.ClusteringIndex.IndexParams = []*commonpb.KeyValuePair{{Key: "index_type", Value: "STL_SORT"}}
|
||||
},
|
||||
} {
|
||||
snapshot := clusteringSnapshotFixture()
|
||||
mutate(snapshot)
|
||||
_, err := SerializePartitionStatsSnapshot(snapshot)
|
||||
require.ErrorIs(t, err, merr.ErrServiceUnimplemented)
|
||||
encoded, err := json.Marshal(snapshot)
|
||||
require.NoError(t, err)
|
||||
_, err = DeserializePartitionsStatsSnapshot(encoded)
|
||||
require.ErrorIs(t, err, merr.ErrServiceUnimplemented)
|
||||
}
|
||||
}
|
||||
@@ -46,7 +46,7 @@ func WithSubstr(substring string) Filter {
|
||||
}
|
||||
|
||||
func WithPrefix(prefix string) Filter {
|
||||
prefix = strings.ToLower(prefix)
|
||||
prefix = lowerKey(prefix)
|
||||
return func(key string) (string, bool) {
|
||||
return key, strings.HasPrefix(key, prefix)
|
||||
}
|
||||
@@ -54,7 +54,7 @@ func WithPrefix(prefix string) Filter {
|
||||
|
||||
func WithOneOfPrefixs(prefixs ...string) Filter {
|
||||
for id, prefix := range prefixs {
|
||||
prefixs[id] = strings.ToLower(prefix)
|
||||
prefixs[id] = lowerKey(prefix)
|
||||
}
|
||||
return func(key string) (string, bool) {
|
||||
for _, prefix := range prefixs {
|
||||
@@ -67,7 +67,7 @@ func WithOneOfPrefixs(prefixs ...string) Filter {
|
||||
}
|
||||
|
||||
func RemovePrefix(prefix string) Filter {
|
||||
prefix = strings.ToLower(prefix)
|
||||
prefix = lowerKey(prefix)
|
||||
return func(key string) (string, bool) {
|
||||
return strings.Replace(key, prefix, "", 1), true
|
||||
}
|
||||
|
||||
@@ -1674,3 +1674,19 @@ func TestProcessImmutableConfigsRendererKeyAbsentFromSources(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "woodpecker", v)
|
||||
}
|
||||
|
||||
// Prefix filters must use the same case rules as their stored keys. In
|
||||
// particular, compactionPlan and provider parameter suffixes are case sensitive.
|
||||
func TestKnowhereMixedCasePrefixFilters(t *testing.T) {
|
||||
mgr := NewManager()
|
||||
mgr.RegisterConfigPrefix("knowhere.")
|
||||
mgr.RegisterConfigPrefix("example.")
|
||||
mgr.SetMapConfig("knowhere.cluster.compactionPlan.efConstruction", "64")
|
||||
mgr.SetMapConfig("knowhere.cluster.analyze.num_threads", "8")
|
||||
mgr.SetMapConfig("example.option", "value")
|
||||
require.Equal(t, map[string]string{"efConstruction": "64"},
|
||||
mgr.GetEffectiveBy(WithPrefix("knowhere.cluster.compactionPlan."), RemovePrefix("knowhere.cluster.compactionPlan.")))
|
||||
require.Equal(t, map[string]string{
|
||||
"knowhere.cluster.compactionPlan.efConstruction": "64", "example.option": "value",
|
||||
}, mgr.GetEffectiveBy(WithOneOfPrefixs("knowhere.cluster.compactionPlan.", "EXAMPLE.")))
|
||||
}
|
||||
@@ -25,6 +25,20 @@ message LoadIndexInfo {
|
||||
int64 num_rows = 17;
|
||||
int32 current_scalar_index_version = 18;
|
||||
index.IndexStorePathVersion index_store_path_version = 19;
|
||||
// Present only for a snapshot-owned clustering index. Collection, partition,
|
||||
// field/shape and num_rows (num_clusters) use the common fields above. The
|
||||
// field type selects vector index_engine_version or current_scalar_index_version.
|
||||
// segmentID/indexID/index_buildID/index_version/index_store_path_version are
|
||||
// inapplicable: use snapshot identity for cache keys and local paths instead.
|
||||
// PR1 declares the payload only; callers must wait for native loader support.
|
||||
PartitionStatsContext partition_stats = 20;
|
||||
}
|
||||
|
||||
// Runtime load context, not a second persisted copy of snapshot ownership.
|
||||
// Absence on LoadIndexInfo preserves the segment-index loading path.
|
||||
message PartitionStatsContext {
|
||||
string channel = 1;
|
||||
int64 version = 2;
|
||||
}
|
||||
|
||||
message IndexStats {
|
||||
|
||||
+174
-79
@@ -46,6 +46,13 @@ type LoadIndexInfo struct {
|
||||
NumRows int64 `protobuf:"varint,17,opt,name=num_rows,json=numRows,proto3" json:"num_rows,omitempty"`
|
||||
CurrentScalarIndexVersion int32 `protobuf:"varint,18,opt,name=current_scalar_index_version,json=currentScalarIndexVersion,proto3" json:"current_scalar_index_version,omitempty"`
|
||||
IndexStorePathVersion indexpb.IndexStorePathVersion `protobuf:"varint,19,opt,name=index_store_path_version,json=indexStorePathVersion,proto3,enum=milvus.proto.index.IndexStorePathVersion" json:"index_store_path_version,omitempty"`
|
||||
// Present only for a snapshot-owned clustering index. Collection, partition,
|
||||
// field/shape and num_rows (num_clusters) use the common fields above. The
|
||||
// field type selects vector index_engine_version or current_scalar_index_version.
|
||||
// segmentID/indexID/index_buildID/index_version/index_store_path_version are
|
||||
// inapplicable: use snapshot identity for cache keys and local paths instead.
|
||||
// PR1 declares the payload only; callers must wait for native loader support.
|
||||
PartitionStats *PartitionStatsContext `protobuf:"bytes,20,opt,name=partition_stats,json=partitionStats,proto3" json:"partition_stats,omitempty"`
|
||||
}
|
||||
|
||||
func (x *LoadIndexInfo) Reset() {
|
||||
@@ -207,6 +214,70 @@ func (x *LoadIndexInfo) GetIndexStorePathVersion() indexpb.IndexStorePathVersion
|
||||
return indexpb.IndexStorePathVersion(0)
|
||||
}
|
||||
|
||||
func (x *LoadIndexInfo) GetPartitionStats() *PartitionStatsContext {
|
||||
if x != nil {
|
||||
return x.PartitionStats
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Runtime load context, not a second persisted copy of snapshot ownership.
|
||||
// Absence on LoadIndexInfo preserves the segment-index loading path.
|
||||
type PartitionStatsContext struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Channel string `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"`
|
||||
Version int64 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
|
||||
}
|
||||
|
||||
func (x *PartitionStatsContext) Reset() {
|
||||
*x = PartitionStatsContext{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_cgo_msg_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *PartitionStatsContext) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*PartitionStatsContext) ProtoMessage() {}
|
||||
|
||||
func (x *PartitionStatsContext) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_cgo_msg_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use PartitionStatsContext.ProtoReflect.Descriptor instead.
|
||||
func (*PartitionStatsContext) Descriptor() ([]byte, []int) {
|
||||
return file_cgo_msg_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *PartitionStatsContext) GetChannel() string {
|
||||
if x != nil {
|
||||
return x.Channel
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *PartitionStatsContext) GetVersion() int64 {
|
||||
if x != nil {
|
||||
return x.Version
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type IndexStats struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -219,7 +290,7 @@ type IndexStats struct {
|
||||
func (x *IndexStats) Reset() {
|
||||
*x = IndexStats{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_cgo_msg_proto_msgTypes[1]
|
||||
mi := &file_cgo_msg_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -232,7 +303,7 @@ func (x *IndexStats) String() string {
|
||||
func (*IndexStats) ProtoMessage() {}
|
||||
|
||||
func (x *IndexStats) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_cgo_msg_proto_msgTypes[1]
|
||||
mi := &file_cgo_msg_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -245,7 +316,7 @@ func (x *IndexStats) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use IndexStats.ProtoReflect.Descriptor instead.
|
||||
func (*IndexStats) Descriptor() ([]byte, []int) {
|
||||
return file_cgo_msg_proto_rawDescGZIP(), []int{1}
|
||||
return file_cgo_msg_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *IndexStats) GetMemSize() int64 {
|
||||
@@ -274,7 +345,7 @@ type SerializedIndexFileInfo struct {
|
||||
func (x *SerializedIndexFileInfo) Reset() {
|
||||
*x = SerializedIndexFileInfo{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_cgo_msg_proto_msgTypes[2]
|
||||
mi := &file_cgo_msg_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -287,7 +358,7 @@ func (x *SerializedIndexFileInfo) String() string {
|
||||
func (*SerializedIndexFileInfo) ProtoMessage() {}
|
||||
|
||||
func (x *SerializedIndexFileInfo) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_cgo_msg_proto_msgTypes[2]
|
||||
mi := &file_cgo_msg_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -300,7 +371,7 @@ func (x *SerializedIndexFileInfo) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use SerializedIndexFileInfo.ProtoReflect.Descriptor instead.
|
||||
func (*SerializedIndexFileInfo) Descriptor() ([]byte, []int) {
|
||||
return file_cgo_msg_proto_rawDescGZIP(), []int{2}
|
||||
return file_cgo_msg_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *SerializedIndexFileInfo) GetFileName() string {
|
||||
@@ -330,7 +401,7 @@ type FunctionChainInputPlan struct {
|
||||
func (x *FunctionChainInputPlan) Reset() {
|
||||
*x = FunctionChainInputPlan{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_cgo_msg_proto_msgTypes[3]
|
||||
mi := &file_cgo_msg_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -343,7 +414,7 @@ func (x *FunctionChainInputPlan) String() string {
|
||||
func (*FunctionChainInputPlan) ProtoMessage() {}
|
||||
|
||||
func (x *FunctionChainInputPlan) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_cgo_msg_proto_msgTypes[3]
|
||||
mi := &file_cgo_msg_proto_msgTypes[4]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -356,7 +427,7 @@ func (x *FunctionChainInputPlan) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use FunctionChainInputPlan.ProtoReflect.Descriptor instead.
|
||||
func (*FunctionChainInputPlan) Descriptor() ([]byte, []int) {
|
||||
return file_cgo_msg_proto_rawDescGZIP(), []int{3}
|
||||
return file_cgo_msg_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (x *FunctionChainInputPlan) GetInputs() []*FunctionChainInput {
|
||||
@@ -381,7 +452,7 @@ type FunctionChainInput struct {
|
||||
func (x *FunctionChainInput) Reset() {
|
||||
*x = FunctionChainInput{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_cgo_msg_proto_msgTypes[4]
|
||||
mi := &file_cgo_msg_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -394,7 +465,7 @@ func (x *FunctionChainInput) String() string {
|
||||
func (*FunctionChainInput) ProtoMessage() {}
|
||||
|
||||
func (x *FunctionChainInput) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_cgo_msg_proto_msgTypes[4]
|
||||
mi := &file_cgo_msg_proto_msgTypes[5]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -407,7 +478,7 @@ func (x *FunctionChainInput) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use FunctionChainInput.ProtoReflect.Descriptor instead.
|
||||
func (*FunctionChainInput) Descriptor() ([]byte, []int) {
|
||||
return file_cgo_msg_proto_rawDescGZIP(), []int{4}
|
||||
return file_cgo_msg_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
func (x *FunctionChainInput) GetSourceFieldId() int64 {
|
||||
@@ -452,7 +523,7 @@ var file_cgo_msg_proto_rawDesc = []byte{
|
||||
0x10, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x67,
|
||||
0x6f, 0x1a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
||||
0x11, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x22, 0xea, 0x06, 0x0a, 0x0d, 0x4c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x74, 0x6f, 0x22, 0xbc, 0x07, 0x0a, 0x0d, 0x4c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c,
|
||||
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74,
|
||||
@@ -502,49 +573,59 @@ var file_cgo_msg_proto_rawDesc = []byte{
|
||||
0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x74,
|
||||
0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53,
|
||||
0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a,
|
||||
0x3e, 0x0a, 0x10, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
|
||||
0x88, 0x01, 0x0a, 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x19,
|
||||
0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x07, 0x6d, 0x65, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x73, 0x65, 0x72,
|
||||
0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x6e,
|
||||
0x66, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x67, 0x6f, 0x2e, 0x53, 0x65, 0x72,
|
||||
0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
|
||||
0x50, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61,
|
||||
0x74, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x67, 0x6f, 0x2e, 0x50, 0x61, 0x72, 0x74,
|
||||
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
|
||||
0x74, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
|
||||
0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
|
||||
0x01, 0x22, 0x4b, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68,
|
||||
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61,
|
||||
0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x88,
|
||||
0x01, 0x0a, 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a,
|
||||
0x08, 0x6d, 0x65, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x07, 0x6d, 0x65, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x69,
|
||||
0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x6e, 0x66,
|
||||
0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x67, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x69,
|
||||
0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x52, 0x14, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x49,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x53, 0x0a, 0x17, 0x53, 0x65, 0x72,
|
||||
0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x69, 0x6c, 0x65,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64,
|
||||
0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x53, 0x0a, 0x17, 0x53, 0x65,
|
||||
0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x69, 0x6c,
|
||||
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61,
|
||||
0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22,
|
||||
0x56, 0x0a, 0x16, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e,
|
||||
0x49, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x3c, 0x0a, 0x06, 0x69, 0x6e, 0x70,
|
||||
0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x67, 0x6f, 0x2e, 0x46, 0x75, 0x6e,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52,
|
||||
0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0xeb, 0x01, 0x0a, 0x12, 0x46, 0x75, 0x6e, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x26,
|
||||
0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46,
|
||||
0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
|
||||
0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
|
||||
0x32, 0x1d, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
||||
0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52,
|
||||
0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12,
|
||||
0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x4e, 0x61,
|
||||
0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74,
|
||||
0x68, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50,
|
||||
0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x70,
|
||||
0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4a, 0x73, 0x6f,
|
||||
0x6e, 0x50, 0x61, 0x74, 0x68, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
|
||||
0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2d, 0x69, 0x6f, 0x2f, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2f, 0x63, 0x67, 0x6f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d,
|
||||
0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x56,
|
||||
0x0a, 0x16, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49,
|
||||
0x6e, 0x70, 0x75, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x3c, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75,
|
||||
0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x67, 0x6f, 0x2e, 0x46, 0x75, 0x6e, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06,
|
||||
0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0xeb, 0x01, 0x0a, 0x12, 0x46, 0x75, 0x6e, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x26, 0x0a,
|
||||
0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x64,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69,
|
||||
0x65, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
|
||||
0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x1d, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73,
|
||||
0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e,
|
||||
0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21,
|
||||
0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x4e, 0x61, 0x6d,
|
||||
0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68,
|
||||
0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x61,
|
||||
0x74, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61,
|
||||
0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4a, 0x73, 0x6f, 0x6e,
|
||||
0x50, 0x61, 0x74, 0x68, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
|
||||
0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2d, 0x69, 0x6f, 0x2f, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2f, 0x63, 0x67, 0x6f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -559,30 +640,32 @@ func file_cgo_msg_proto_rawDescGZIP() []byte {
|
||||
return file_cgo_msg_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_cgo_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
||||
var file_cgo_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
|
||||
var file_cgo_msg_proto_goTypes = []interface{}{
|
||||
(*LoadIndexInfo)(nil), // 0: milvus.proto.cgo.LoadIndexInfo
|
||||
(*IndexStats)(nil), // 1: milvus.proto.cgo.IndexStats
|
||||
(*SerializedIndexFileInfo)(nil), // 2: milvus.proto.cgo.SerializedIndexFileInfo
|
||||
(*FunctionChainInputPlan)(nil), // 3: milvus.proto.cgo.FunctionChainInputPlan
|
||||
(*FunctionChainInput)(nil), // 4: milvus.proto.cgo.FunctionChainInput
|
||||
nil, // 5: milvus.proto.cgo.LoadIndexInfo.IndexParamsEntry
|
||||
(*schemapb.FieldSchema)(nil), // 6: milvus.proto.schema.FieldSchema
|
||||
(indexpb.IndexStorePathVersion)(0), // 7: milvus.proto.index.IndexStorePathVersion
|
||||
(schemapb.DataType)(0), // 8: milvus.proto.schema.DataType
|
||||
(*PartitionStatsContext)(nil), // 1: milvus.proto.cgo.PartitionStatsContext
|
||||
(*IndexStats)(nil), // 2: milvus.proto.cgo.IndexStats
|
||||
(*SerializedIndexFileInfo)(nil), // 3: milvus.proto.cgo.SerializedIndexFileInfo
|
||||
(*FunctionChainInputPlan)(nil), // 4: milvus.proto.cgo.FunctionChainInputPlan
|
||||
(*FunctionChainInput)(nil), // 5: milvus.proto.cgo.FunctionChainInput
|
||||
nil, // 6: milvus.proto.cgo.LoadIndexInfo.IndexParamsEntry
|
||||
(*schemapb.FieldSchema)(nil), // 7: milvus.proto.schema.FieldSchema
|
||||
(indexpb.IndexStorePathVersion)(0), // 8: milvus.proto.index.IndexStorePathVersion
|
||||
(schemapb.DataType)(0), // 9: milvus.proto.schema.DataType
|
||||
}
|
||||
var file_cgo_msg_proto_depIdxs = []int32{
|
||||
6, // 0: milvus.proto.cgo.LoadIndexInfo.field:type_name -> milvus.proto.schema.FieldSchema
|
||||
5, // 1: milvus.proto.cgo.LoadIndexInfo.index_params:type_name -> milvus.proto.cgo.LoadIndexInfo.IndexParamsEntry
|
||||
7, // 2: milvus.proto.cgo.LoadIndexInfo.index_store_path_version:type_name -> milvus.proto.index.IndexStorePathVersion
|
||||
2, // 3: milvus.proto.cgo.IndexStats.serialized_index_infos:type_name -> milvus.proto.cgo.SerializedIndexFileInfo
|
||||
4, // 4: milvus.proto.cgo.FunctionChainInputPlan.inputs:type_name -> milvus.proto.cgo.FunctionChainInput
|
||||
8, // 5: milvus.proto.cgo.FunctionChainInput.target_data_type:type_name -> milvus.proto.schema.DataType
|
||||
6, // [6:6] is the sub-list for method output_type
|
||||
6, // [6:6] is the sub-list for method input_type
|
||||
6, // [6:6] is the sub-list for extension type_name
|
||||
6, // [6:6] is the sub-list for extension extendee
|
||||
0, // [0:6] is the sub-list for field type_name
|
||||
7, // 0: milvus.proto.cgo.LoadIndexInfo.field:type_name -> milvus.proto.schema.FieldSchema
|
||||
6, // 1: milvus.proto.cgo.LoadIndexInfo.index_params:type_name -> milvus.proto.cgo.LoadIndexInfo.IndexParamsEntry
|
||||
8, // 2: milvus.proto.cgo.LoadIndexInfo.index_store_path_version:type_name -> milvus.proto.index.IndexStorePathVersion
|
||||
1, // 3: milvus.proto.cgo.LoadIndexInfo.partition_stats:type_name -> milvus.proto.cgo.PartitionStatsContext
|
||||
3, // 4: milvus.proto.cgo.IndexStats.serialized_index_infos:type_name -> milvus.proto.cgo.SerializedIndexFileInfo
|
||||
5, // 5: milvus.proto.cgo.FunctionChainInputPlan.inputs:type_name -> milvus.proto.cgo.FunctionChainInput
|
||||
9, // 6: milvus.proto.cgo.FunctionChainInput.target_data_type:type_name -> milvus.proto.schema.DataType
|
||||
7, // [7:7] is the sub-list for method output_type
|
||||
7, // [7:7] is the sub-list for method input_type
|
||||
7, // [7:7] is the sub-list for extension type_name
|
||||
7, // [7:7] is the sub-list for extension extendee
|
||||
0, // [0:7] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_cgo_msg_proto_init() }
|
||||
@@ -604,7 +687,7 @@ func file_cgo_msg_proto_init() {
|
||||
}
|
||||
}
|
||||
file_cgo_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*IndexStats); i {
|
||||
switch v := v.(*PartitionStatsContext); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@@ -616,7 +699,7 @@ func file_cgo_msg_proto_init() {
|
||||
}
|
||||
}
|
||||
file_cgo_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*SerializedIndexFileInfo); i {
|
||||
switch v := v.(*IndexStats); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@@ -628,7 +711,7 @@ func file_cgo_msg_proto_init() {
|
||||
}
|
||||
}
|
||||
file_cgo_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FunctionChainInputPlan); i {
|
||||
switch v := v.(*SerializedIndexFileInfo); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@@ -640,6 +723,18 @@ func file_cgo_msg_proto_init() {
|
||||
}
|
||||
}
|
||||
file_cgo_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FunctionChainInputPlan); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_cgo_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FunctionChainInput); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -658,7 +753,7 @@ func file_cgo_msg_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_cgo_msg_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 6,
|
||||
NumMessages: 7,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
||||
@@ -3,6 +3,7 @@ package milvus.proto.clustering;
|
||||
|
||||
option go_package = "github.com/milvus-io/milvus/pkg/v3/proto/clusteringpb";
|
||||
import "schema.proto";
|
||||
import "common.proto";
|
||||
|
||||
// Synchronously modify StorageConfig in index_coord.proto/index_cgo_msg.proto file
|
||||
message StorageConfig {
|
||||
@@ -56,6 +57,9 @@ message AnalyzeInfo {
|
||||
// segmentID -> manifest path. A non-empty entry marks a StorageV3 segment
|
||||
// read through the manifest; V1 segments use insert_files instead.
|
||||
map<int64, string> manifest_paths = 17;
|
||||
string cluster_type = 18;
|
||||
// Knowhere analyze parameters frozen in the AnalyzeTask.
|
||||
map<string, string> cluster_params = 19;
|
||||
}
|
||||
|
||||
message ClusteringCentroidsStats {
|
||||
@@ -63,6 +67,77 @@ message ClusteringCentroidsStats {
|
||||
}
|
||||
|
||||
message ClusteringCentroidIdMappingStats {
|
||||
// Dense offsets into this Analyze generation, not persistent centroid IDs.
|
||||
repeated uint32 centroid_id_mapping = 1;
|
||||
repeated int64 num_in_centroid = 2;
|
||||
// One finite distance per input row, aligned with centroid_id_mapping.
|
||||
// Mapping sorts by centroid, then by ascending distance within each centroid.
|
||||
repeated float distance_to_centroid = 3;
|
||||
}
|
||||
|
||||
// Immutable index artifacts for the complete snapshot's clustering field.
|
||||
// Index labels identify cluster offsets, mapped to physical rows by
|
||||
// ClusteringRange. Scope, field and cluster count come from the snapshot,
|
||||
// not segment/index-task identities.
|
||||
message ClusteringIndexInfo {
|
||||
// Persisted build parameters, including index_type exactly once. Vector
|
||||
// indexes also require metric_type. QueryNode-local load parameters are
|
||||
// merged into a copy at load time.
|
||||
repeated common.KeyValuePair index_params = 1;
|
||||
// Complete object keys, using the existing index codec and slice naming.
|
||||
repeated string index_file_paths = 2;
|
||||
// Version of the index engine selected by the enclosing field's data_type:
|
||||
// FieldIndexInfo.current_index_version for vectors, current_scalar_index_version
|
||||
// for scalars. These are separate version domains. This is not a snapshot or
|
||||
// index-build generation. Scalar execution is a follow-up.
|
||||
int32 index_engine_version = 3;
|
||||
// Positive uncompressed index bytes, matching FieldIndexInfo.index_size for
|
||||
// load-resource estimation; not the size of the cluster description file.
|
||||
int64 index_size = 4;
|
||||
}
|
||||
|
||||
// Metadata for one clustering field, owned by the complete PartitionStatsSnapshot.
|
||||
// Cluster descriptions live in the referenced file, not in snapshot metadata.
|
||||
// The field type selects their interpretation; physical ranges are type-neutral.
|
||||
message PartitionClusteringStats {
|
||||
uint32 format_version = 1;
|
||||
int64 field_id = 2;
|
||||
schema.DataType data_type = 3;
|
||||
int64 dim = 4; // Vector dimension; inapplicable (zero) for a scalar field.
|
||||
uint32 num_clusters = 5;
|
||||
// Complete object key for immutable cluster descriptions. Entry order defines
|
||||
// cluster offsets and index labels for this snapshot. For FloatVector the
|
||||
// payload is ClusteringCentroidsStats, with one centroid per cluster. Scalar
|
||||
// descriptions, mapping and query support are deferred; no scalar producer is
|
||||
// enabled by this contract. Empty exactly when num_clusters is zero.
|
||||
string clusters_file = 6;
|
||||
// Required for a nonempty table, absent for an empty table. Built from the
|
||||
// complete cluster descriptions in final offset order before publication.
|
||||
// Index files and metadata are immutable with the snapshot.
|
||||
ClusteringIndexInfo clustering_index = 7;
|
||||
// Complete segment grouping for this snapshot. Array positions are local
|
||||
// group offsets, not global IDs. Every covered segment belongs to exactly
|
||||
// one group; every cluster's ranges must lie entirely within one group.
|
||||
// Empty exactly when the complete snapshot is empty.
|
||||
repeated ClusteringGroup groups = 8;
|
||||
}
|
||||
|
||||
// A group owns one or more segments. Cluster membership is derived from the
|
||||
// referenced SegmentStats.ClusteringRanges, not persisted a second time.
|
||||
// Compaction selection/publication must separately enforce complete replacement
|
||||
// of each touched group against the pinned base snapshot. Query pruning still
|
||||
// selects individual cluster ranges, not all rows in a group.
|
||||
message ClusteringGroup {
|
||||
// Distinct IDs referencing SegmentStats entries in the owning snapshot.
|
||||
repeated int64 segment_ids = 1;
|
||||
}
|
||||
|
||||
// Embedded in SegmentStats; field and cluster identity come from the owning
|
||||
// snapshot's PartitionClusteringStats. This layout also applies to scalar value
|
||||
// groups once scalar mapping produces contiguous rows. A cluster may span
|
||||
// segments, but has at most one contiguous range in each segment.
|
||||
message ClusteringRange {
|
||||
uint32 cluster_offset = 1; // Offset into this snapshot's cluster table; zero is valid.
|
||||
int64 row_offset = 2; // Final physical segment row offset.
|
||||
int64 row_count = 3; // Positive; interval is [offset, offset + count).
|
||||
}
|
||||
@@ -7,6 +7,7 @@
|
||||
package clusteringpb
|
||||
|
||||
import (
|
||||
commonpb "github.com/milvus-io/milvus-proto/go-api/v3/commonpb"
|
||||
schemapb "github.com/milvus-io/milvus-proto/go-api/v3/schemapb"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
@@ -324,6 +325,9 @@ type AnalyzeInfo struct {
|
||||
// segmentID -> manifest path. A non-empty entry marks a StorageV3 segment
|
||||
// read through the manifest; V1 segments use insert_files instead.
|
||||
ManifestPaths map[int64]string `protobuf:"bytes,17,rep,name=manifest_paths,json=manifestPaths,proto3" json:"manifest_paths,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
ClusterType string `protobuf:"bytes,18,opt,name=cluster_type,json=clusterType,proto3" json:"cluster_type,omitempty"`
|
||||
// Knowhere analyze parameters frozen in the AnalyzeTask.
|
||||
ClusterParams map[string]string `protobuf:"bytes,19,rep,name=cluster_params,json=clusterParams,proto3" json:"cluster_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
}
|
||||
|
||||
func (x *AnalyzeInfo) Reset() {
|
||||
@@ -477,6 +481,20 @@ func (x *AnalyzeInfo) GetManifestPaths() map[int64]string {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *AnalyzeInfo) GetClusterType() string {
|
||||
if x != nil {
|
||||
return x.ClusterType
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AnalyzeInfo) GetClusterParams() map[string]string {
|
||||
if x != nil {
|
||||
return x.ClusterParams
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type ClusteringCentroidsStats struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -529,8 +547,12 @@ type ClusteringCentroidIdMappingStats struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// Dense offsets into this Analyze generation, not persistent centroid IDs.
|
||||
CentroidIdMapping []uint32 `protobuf:"varint,1,rep,packed,name=centroid_id_mapping,json=centroidIdMapping,proto3" json:"centroid_id_mapping,omitempty"`
|
||||
NumInCentroid []int64 `protobuf:"varint,2,rep,packed,name=num_in_centroid,json=numInCentroid,proto3" json:"num_in_centroid,omitempty"`
|
||||
// One finite distance per input row, aligned with centroid_id_mapping.
|
||||
// Mapping sorts by centroid, then by ascending distance within each centroid.
|
||||
DistanceToCentroid []float32 `protobuf:"fixed32,3,rep,packed,name=distance_to_centroid,json=distanceToCentroid,proto3" json:"distance_to_centroid,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ClusteringCentroidIdMappingStats) Reset() {
|
||||
@@ -579,160 +601,556 @@ func (x *ClusteringCentroidIdMappingStats) GetNumInCentroid() []int64 {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ClusteringCentroidIdMappingStats) GetDistanceToCentroid() []float32 {
|
||||
if x != nil {
|
||||
return x.DistanceToCentroid
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Immutable index artifacts for the complete snapshot's clustering field.
|
||||
// Index labels identify cluster offsets, mapped to physical rows by
|
||||
// ClusteringRange. Scope, field and cluster count come from the snapshot,
|
||||
// not segment/index-task identities.
|
||||
type ClusteringIndexInfo struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// Persisted build parameters, including index_type exactly once. Vector
|
||||
// indexes also require metric_type. QueryNode-local load parameters are
|
||||
// merged into a copy at load time.
|
||||
IndexParams []*commonpb.KeyValuePair `protobuf:"bytes,1,rep,name=index_params,json=indexParams,proto3" json:"index_params,omitempty"`
|
||||
// Complete object keys, using the existing index codec and slice naming.
|
||||
IndexFilePaths []string `protobuf:"bytes,2,rep,name=index_file_paths,json=indexFilePaths,proto3" json:"index_file_paths,omitempty"`
|
||||
// Version of the index engine selected by the enclosing field's data_type:
|
||||
// FieldIndexInfo.current_index_version for vectors, current_scalar_index_version
|
||||
// for scalars. These are separate version domains. This is not a snapshot or
|
||||
// index-build generation. Scalar execution is a follow-up.
|
||||
IndexEngineVersion int32 `protobuf:"varint,3,opt,name=index_engine_version,json=indexEngineVersion,proto3" json:"index_engine_version,omitempty"`
|
||||
// Positive uncompressed index bytes, matching FieldIndexInfo.index_size for
|
||||
// load-resource estimation; not the size of the cluster description file.
|
||||
IndexSize int64 `protobuf:"varint,4,opt,name=index_size,json=indexSize,proto3" json:"index_size,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ClusteringIndexInfo) Reset() {
|
||||
*x = ClusteringIndexInfo{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_clustering_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ClusteringIndexInfo) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ClusteringIndexInfo) ProtoMessage() {}
|
||||
|
||||
func (x *ClusteringIndexInfo) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_clustering_proto_msgTypes[5]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use ClusteringIndexInfo.ProtoReflect.Descriptor instead.
|
||||
func (*ClusteringIndexInfo) Descriptor() ([]byte, []int) {
|
||||
return file_clustering_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
func (x *ClusteringIndexInfo) GetIndexParams() []*commonpb.KeyValuePair {
|
||||
if x != nil {
|
||||
return x.IndexParams
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ClusteringIndexInfo) GetIndexFilePaths() []string {
|
||||
if x != nil {
|
||||
return x.IndexFilePaths
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ClusteringIndexInfo) GetIndexEngineVersion() int32 {
|
||||
if x != nil {
|
||||
return x.IndexEngineVersion
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ClusteringIndexInfo) GetIndexSize() int64 {
|
||||
if x != nil {
|
||||
return x.IndexSize
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// Metadata for one clustering field, owned by the complete PartitionStatsSnapshot.
|
||||
// Cluster descriptions live in the referenced file, not in snapshot metadata.
|
||||
// The field type selects their interpretation; physical ranges are type-neutral.
|
||||
type PartitionClusteringStats struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FormatVersion uint32 `protobuf:"varint,1,opt,name=format_version,json=formatVersion,proto3" json:"format_version,omitempty"`
|
||||
FieldId int64 `protobuf:"varint,2,opt,name=field_id,json=fieldId,proto3" json:"field_id,omitempty"`
|
||||
DataType schemapb.DataType `protobuf:"varint,3,opt,name=data_type,json=dataType,proto3,enum=milvus.proto.schema.DataType" json:"data_type,omitempty"`
|
||||
Dim int64 `protobuf:"varint,4,opt,name=dim,proto3" json:"dim,omitempty"` // Vector dimension; inapplicable (zero) for a scalar field.
|
||||
NumClusters uint32 `protobuf:"varint,5,opt,name=num_clusters,json=numClusters,proto3" json:"num_clusters,omitempty"`
|
||||
// Complete object key for immutable cluster descriptions. Entry order defines
|
||||
// cluster offsets and index labels for this snapshot. For FloatVector the
|
||||
// payload is ClusteringCentroidsStats, with one centroid per cluster. Scalar
|
||||
// descriptions, mapping and query support are deferred; no scalar producer is
|
||||
// enabled by this contract. Empty exactly when num_clusters is zero.
|
||||
ClustersFile string `protobuf:"bytes,6,opt,name=clusters_file,json=clustersFile,proto3" json:"clusters_file,omitempty"`
|
||||
// Required for a nonempty table, absent for an empty table. Built from the
|
||||
// complete cluster descriptions in final offset order before publication.
|
||||
// Index files and metadata are immutable with the snapshot.
|
||||
ClusteringIndex *ClusteringIndexInfo `protobuf:"bytes,7,opt,name=clustering_index,json=clusteringIndex,proto3" json:"clustering_index,omitempty"`
|
||||
// Complete segment grouping for this snapshot. Array positions are local
|
||||
// group offsets, not global IDs. Every covered segment belongs to exactly
|
||||
// one group; every cluster's ranges must lie entirely within one group.
|
||||
// Empty exactly when the complete snapshot is empty.
|
||||
Groups []*ClusteringGroup `protobuf:"bytes,8,rep,name=groups,proto3" json:"groups,omitempty"`
|
||||
}
|
||||
|
||||
func (x *PartitionClusteringStats) Reset() {
|
||||
*x = PartitionClusteringStats{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_clustering_proto_msgTypes[6]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *PartitionClusteringStats) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*PartitionClusteringStats) ProtoMessage() {}
|
||||
|
||||
func (x *PartitionClusteringStats) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_clustering_proto_msgTypes[6]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use PartitionClusteringStats.ProtoReflect.Descriptor instead.
|
||||
func (*PartitionClusteringStats) Descriptor() ([]byte, []int) {
|
||||
return file_clustering_proto_rawDescGZIP(), []int{6}
|
||||
}
|
||||
|
||||
func (x *PartitionClusteringStats) GetFormatVersion() uint32 {
|
||||
if x != nil {
|
||||
return x.FormatVersion
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *PartitionClusteringStats) GetFieldId() int64 {
|
||||
if x != nil {
|
||||
return x.FieldId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *PartitionClusteringStats) GetDataType() schemapb.DataType {
|
||||
if x != nil {
|
||||
return x.DataType
|
||||
}
|
||||
return schemapb.DataType(0)
|
||||
}
|
||||
|
||||
func (x *PartitionClusteringStats) GetDim() int64 {
|
||||
if x != nil {
|
||||
return x.Dim
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *PartitionClusteringStats) GetNumClusters() uint32 {
|
||||
if x != nil {
|
||||
return x.NumClusters
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *PartitionClusteringStats) GetClustersFile() string {
|
||||
if x != nil {
|
||||
return x.ClustersFile
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *PartitionClusteringStats) GetClusteringIndex() *ClusteringIndexInfo {
|
||||
if x != nil {
|
||||
return x.ClusteringIndex
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *PartitionClusteringStats) GetGroups() []*ClusteringGroup {
|
||||
if x != nil {
|
||||
return x.Groups
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// A group owns one or more segments. Cluster membership is derived from the
|
||||
// referenced SegmentStats.ClusteringRanges, not persisted a second time.
|
||||
// Compaction selection/publication must separately enforce complete replacement
|
||||
// of each touched group against the pinned base snapshot. Query pruning still
|
||||
// selects individual cluster ranges, not all rows in a group.
|
||||
type ClusteringGroup struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// Distinct IDs referencing SegmentStats entries in the owning snapshot.
|
||||
SegmentIds []int64 `protobuf:"varint,1,rep,packed,name=segment_ids,json=segmentIds,proto3" json:"segment_ids,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ClusteringGroup) Reset() {
|
||||
*x = ClusteringGroup{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_clustering_proto_msgTypes[7]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ClusteringGroup) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ClusteringGroup) ProtoMessage() {}
|
||||
|
||||
func (x *ClusteringGroup) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_clustering_proto_msgTypes[7]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use ClusteringGroup.ProtoReflect.Descriptor instead.
|
||||
func (*ClusteringGroup) Descriptor() ([]byte, []int) {
|
||||
return file_clustering_proto_rawDescGZIP(), []int{7}
|
||||
}
|
||||
|
||||
func (x *ClusteringGroup) GetSegmentIds() []int64 {
|
||||
if x != nil {
|
||||
return x.SegmentIds
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Embedded in SegmentStats; field and cluster identity come from the owning
|
||||
// snapshot's PartitionClusteringStats. This layout also applies to scalar value
|
||||
// groups once scalar mapping produces contiguous rows. A cluster may span
|
||||
// segments, but has at most one contiguous range in each segment.
|
||||
type ClusteringRange struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ClusterOffset uint32 `protobuf:"varint,1,opt,name=cluster_offset,json=clusterOffset,proto3" json:"cluster_offset,omitempty"` // Offset into this snapshot's cluster table; zero is valid.
|
||||
RowOffset int64 `protobuf:"varint,2,opt,name=row_offset,json=rowOffset,proto3" json:"row_offset,omitempty"` // Final physical segment row offset.
|
||||
RowCount int64 `protobuf:"varint,3,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"` // Positive; interval is [offset, offset + count).
|
||||
}
|
||||
|
||||
func (x *ClusteringRange) Reset() {
|
||||
*x = ClusteringRange{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_clustering_proto_msgTypes[8]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ClusteringRange) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ClusteringRange) ProtoMessage() {}
|
||||
|
||||
func (x *ClusteringRange) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_clustering_proto_msgTypes[8]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use ClusteringRange.ProtoReflect.Descriptor instead.
|
||||
func (*ClusteringRange) Descriptor() ([]byte, []int) {
|
||||
return file_clustering_proto_rawDescGZIP(), []int{8}
|
||||
}
|
||||
|
||||
func (x *ClusteringRange) GetClusterOffset() uint32 {
|
||||
if x != nil {
|
||||
return x.ClusterOffset
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ClusteringRange) GetRowOffset() int64 {
|
||||
if x != nil {
|
||||
return x.RowOffset
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ClusteringRange) GetRowCount() int64 {
|
||||
if x != nil {
|
||||
return x.RowCount
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_clustering_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_clustering_proto_rawDesc = []byte{
|
||||
0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x12, 0x17, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x1a, 0x0c, 0x73, 0x63, 0x68,
|
||||
0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x07, 0x0a, 0x0d, 0x53, 0x74,
|
||||
0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x61,
|
||||
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64,
|
||||
0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f,
|
||||
0x6b, 0x65, 0x79, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63,
|
||||
0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x72,
|
||||
0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73,
|
||||
0x73, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x53, 0x53, 0x4c, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x73, 0x65, 0x53, 0x53, 0x4c, 0x12, 0x1f, 0x0a, 0x0b,
|
||||
0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a,
|
||||
0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73,
|
||||
0x65, 0x49, 0x41, 0x4d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x73, 0x65, 0x49,
|
||||
0x41, 0x4d, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x41, 0x4d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
|
||||
0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x49, 0x41, 0x4d, 0x45, 0x6e, 0x64, 0x70,
|
||||
0x6f, 0x69, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f,
|
||||
0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72,
|
||||
0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x76,
|
||||
0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73,
|
||||
0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x6f,
|
||||
0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
|
||||
0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
|
||||
0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x12, 0x1c,
|
||||
0x0a, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x41, 0x43, 0x65, 0x72, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x41, 0x43, 0x65, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x11,
|
||||
0x47, 0x63, 0x70, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4a, 0x53, 0x4f,
|
||||
0x4e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x47, 0x63, 0x70, 0x43, 0x72, 0x65, 0x64,
|
||||
0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61,
|
||||
0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x73, 0x6c, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x6d,
|
||||
0x69, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x10, 0x73, 0x73, 0x6c, 0x54, 0x6c, 0x73, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69,
|
||||
0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63,
|
||||
0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x11, 0x75, 0x73, 0x65, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73,
|
||||
0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
|
||||
0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x4d, 0x6f, 0x64,
|
||||
0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x5f, 0x73, 0x6d, 0x61, 0x6c, 0x6c,
|
||||
0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18,
|
||||
0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x53, 0x6d, 0x61, 0x6c,
|
||||
0x6c, 0x52, 0x65, 0x61, 0x64, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x2b,
|
||||
0x0a, 0x11, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x6c, 0x6f, 0x6e,
|
||||
0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x74,
|
||||
0x61, 0x6c, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
|
||||
0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63,
|
||||
0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x17, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x5f, 0x6d,
|
||||
0x61, 0x78, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72,
|
||||
0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x4d, 0x61, 0x78,
|
||||
0x49, 0x64, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x44, 0x0a, 0x1f, 0x74,
|
||||
0x61, 0x6c, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f,
|
||||
0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x18,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x46, 0x6f, 0x72, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x22, 0x30, 0x0a, 0x0b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73,
|
||||
0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73,
|
||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x69,
|
||||
0x6c, 0x65, 0x73, 0x22, 0x99, 0x08, 0x0a, 0x0b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
|
||||
0x44, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x63,
|
||||
0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12,
|
||||
0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
|
||||
0x44, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12,
|
||||
0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x6d,
|
||||
0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x64, 0x69, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x6e,
|
||||
0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1d,
|
||||
0x0a, 0x0a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a,
|
||||
0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x43, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78,
|
||||
0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x0b,
|
||||
0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
|
||||
0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12,
|
||||
0x58, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18,
|
||||
0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e,
|
||||
0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x65,
|
||||
0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x69, 0x6e,
|
||||
0x73, 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x08, 0x6e, 0x75, 0x6d,
|
||||
0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x2e, 0x4e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07,
|
||||
0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x43, 0x0a, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64,
|
||||
0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
|
||||
0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x63, 0x68,
|
||||
0x65, 0x6d, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
|
||||
0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4d, 0x0a, 0x0e,
|
||||
0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x53,
|
||||
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x73, 0x74,
|
||||
0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x0e, 0x6d,
|
||||
0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x11, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
|
||||
0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x07, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72,
|
||||
0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64,
|
||||
0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72,
|
||||
0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65,
|
||||
0x79, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73,
|
||||
0x73, 0x4b, 0x65, 0x79, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74,
|
||||
0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b,
|
||||
0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x53, 0x53, 0x4c, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x08, 0x52, 0x06, 0x75, 0x73, 0x65, 0x53, 0x53, 0x4c, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75,
|
||||
0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72,
|
||||
0x6f, 0x6f, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
||||
0x72, 0x6f, 0x6f, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x49,
|
||||
0x41, 0x4d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x73, 0x65, 0x49, 0x41, 0x4d,
|
||||
0x12, 0x20, 0x0a, 0x0b, 0x49, 0x41, 0x4d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18,
|
||||
0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x49, 0x41, 0x4d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
|
||||
0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79,
|
||||
0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
|
||||
0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x76, 0x69, 0x72,
|
||||
0x74, 0x75, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x0e, 0x75, 0x73, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x12,
|
||||
0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
|
||||
0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2c,
|
||||
0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
|
||||
0x74, 0x5f, 0x6d, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x12, 0x1c, 0x0a, 0x09,
|
||||
0x73, 0x73, 0x6c, 0x43, 0x41, 0x43, 0x65, 0x72, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x09, 0x73, 0x73, 0x6c, 0x43, 0x41, 0x43, 0x65, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x47, 0x63,
|
||||
0x70, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x18,
|
||||
0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x47, 0x63, 0x70, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e,
|
||||
0x74, 0x69, 0x61, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f,
|
||||
0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x73, 0x6c, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x6d, 0x69, 0x6e,
|
||||
0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
|
||||
0x73, 0x73, 0x6c, 0x54, 0x6c, 0x73, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x12, 0x2e, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x5f, 0x63,
|
||||
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75,
|
||||
0x73, 0x65, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
|
||||
0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x13,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12,
|
||||
0x3b, 0x0a, 0x1a, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x5f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x72,
|
||||
0x65, 0x61, 0x64, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x14, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x17, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x52,
|
||||
0x65, 0x61, 0x64, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x2b, 0x0a, 0x11,
|
||||
0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f,
|
||||
0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x43, 0x6f,
|
||||
0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x6c,
|
||||
0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x16, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53,
|
||||
0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x17, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78,
|
||||
0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x17,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x49, 0x64,
|
||||
0x6c, 0x65, 0x50, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x44, 0x0a, 0x1f, 0x74, 0x61, 0x6c,
|
||||
0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x78,
|
||||
0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x18, 0x20, 0x01,
|
||||
0x28, 0x08, 0x52, 0x1b, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46,
|
||||
0x6f, 0x72, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22,
|
||||
0x30, 0x0a, 0x0b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x21,
|
||||
0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01,
|
||||
0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65,
|
||||
0x73, 0x22, 0xde, 0x09, 0x0a, 0x0b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x12,
|
||||
0x18, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6c,
|
||||
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a,
|
||||
0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12,
|
||||
0x1c, 0x0a, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a,
|
||||
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
|
||||
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x6d, 0x18, 0x07,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x64, 0x69, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d,
|
||||
0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x0b, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
|
||||
0x74, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6d,
|
||||
0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x63,
|
||||
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x0b, 0x20, 0x01,
|
||||
0x28, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d,
|
||||
0x61, 0x78, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x58, 0x0a,
|
||||
0x0c, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0d, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x6e,
|
||||
0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65,
|
||||
0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61,
|
||||
0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x73, 0x1a, 0x64, 0x0a, 0x10, 0x49,
|
||||
0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
|
||||
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65,
|
||||
0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
||||
0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72,
|
||||
0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
|
||||
0x01, 0x1a, 0x3a, 0x0a, 0x0c, 0x4e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x45, 0x6e, 0x74, 0x72,
|
||||
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
|
||||
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a,
|
||||
0x12, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x73, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
|
||||
0x5a, 0x0a, 0x18, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x6e,
|
||||
0x74, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x09, 0x63,
|
||||
0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20,
|
||||
0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x63,
|
||||
0x68, 0x65, 0x6d, 0x61, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64,
|
||||
0x52, 0x09, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x22, 0x7a, 0x0a, 0x20, 0x43,
|
||||
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69,
|
||||
0x64, 0x49, 0x64, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12,
|
||||
0x2e, 0x0a, 0x13, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x69, 0x64, 0x5f, 0x6d,
|
||||
0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x65,
|
||||
0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x49, 0x64, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12,
|
||||
0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f,
|
||||
0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x43,
|
||||
0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75,
|
||||
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2d, 0x69, 0x6f, 0x2f,
|
||||
0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x70, 0x62,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74,
|
||||
0x46, 0x69, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x65,
|
||||
0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x72,
|
||||
0x6f, 0x77, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
|
||||
0x69, 0x6e, 0x67, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
|
||||
0x4e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6e, 0x75,
|
||||
0x6d, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x43, 0x0a, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73,
|
||||
0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d,
|
||||
0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0b, 0x66,
|
||||
0x69, 0x65, 0x6c, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4d, 0x0a, 0x0e, 0x73, 0x74,
|
||||
0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x6f,
|
||||
0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72,
|
||||
0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x0e, 0x6d, 0x61, 0x6e,
|
||||
0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x6e, 0x61, 0x6c,
|
||||
0x79, 0x7a, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74,
|
||||
0x50, 0x61, 0x74, 0x68, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x6e, 0x69,
|
||||
0x66, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5e, 0x0a, 0x0e,
|
||||
0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x13,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x41,
|
||||
0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63,
|
||||
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x64, 0x0a, 0x10,
|
||||
0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
||||
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b,
|
||||
0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x49, 0x6e, 0x73, 0x65,
|
||||
0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
|
||||
0x38, 0x01, 0x1a, 0x3a, 0x0a, 0x0c, 0x4e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40,
|
||||
0x0a, 0x12, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x73, 0x45,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
|
||||
0x1a, 0x40, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d,
|
||||
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
|
||||
0x38, 0x01, 0x22, 0x5a, 0x0a, 0x18, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67,
|
||||
0x43, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3e,
|
||||
0x0a, 0x09, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x69,
|
||||
0x65, 0x6c, 0x64, 0x52, 0x09, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x22, 0xac,
|
||||
0x01, 0x0a, 0x20, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x6e,
|
||||
0x74, 0x72, 0x6f, 0x69, 0x64, 0x49, 0x64, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x5f,
|
||||
0x69, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d,
|
||||
0x52, 0x11, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x49, 0x64, 0x4d, 0x61, 0x70, 0x70,
|
||||
0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x65,
|
||||
0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x75,
|
||||
0x6d, 0x49, 0x6e, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x64,
|
||||
0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x72,
|
||||
0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x52, 0x12, 0x64, 0x69, 0x73, 0x74, 0x61,
|
||||
0x6e, 0x63, 0x65, 0x54, 0x6f, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x22, 0xd6, 0x01,
|
||||
0x0a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70,
|
||||
0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
|
||||
0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b,
|
||||
0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x69,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18,
|
||||
0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x69, 0x6c, 0x65,
|
||||
0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65,
|
||||
0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x12, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65,
|
||||
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x69, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8d, 0x03, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x74, 0x69,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x76, 0x65,
|
||||
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x6f, 0x72,
|
||||
0x6d, 0x61, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69,
|
||||
0x65, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x66, 0x69,
|
||||
0x65, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79,
|
||||
0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x44,
|
||||
0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70,
|
||||
0x65, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
|
||||
0x64, 0x69, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x43, 0x6c,
|
||||
0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
||||
0x72, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63,
|
||||
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x63,
|
||||
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
|
||||
0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e,
|
||||
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x12, 0x40, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x08,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x43,
|
||||
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06,
|
||||
0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x32, 0x0a, 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
||||
0x72, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x67,
|
||||
0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a,
|
||||
0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0x74, 0x0a, 0x0f, 0x43, 0x6c,
|
||||
0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x25, 0x0a,
|
||||
0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x66,
|
||||
0x66, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x6f, 0x66, 0x66, 0x73,
|
||||
0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x6f, 0x77, 0x4f, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2d, 0x69, 0x6f, 0x2f, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2f,
|
||||
0x70, 0x6b, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -747,32 +1165,44 @@ func file_clustering_proto_rawDescGZIP() []byte {
|
||||
return file_clustering_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_clustering_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
|
||||
var file_clustering_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
|
||||
var file_clustering_proto_goTypes = []interface{}{
|
||||
(*StorageConfig)(nil), // 0: milvus.proto.clustering.StorageConfig
|
||||
(*InsertFiles)(nil), // 1: milvus.proto.clustering.InsertFiles
|
||||
(*AnalyzeInfo)(nil), // 2: milvus.proto.clustering.AnalyzeInfo
|
||||
(*ClusteringCentroidsStats)(nil), // 3: milvus.proto.clustering.ClusteringCentroidsStats
|
||||
(*ClusteringCentroidIdMappingStats)(nil), // 4: milvus.proto.clustering.ClusteringCentroidIdMappingStats
|
||||
nil, // 5: milvus.proto.clustering.AnalyzeInfo.InsertFilesEntry
|
||||
nil, // 6: milvus.proto.clustering.AnalyzeInfo.NumRowsEntry
|
||||
nil, // 7: milvus.proto.clustering.AnalyzeInfo.ManifestPathsEntry
|
||||
(*schemapb.FieldSchema)(nil), // 8: milvus.proto.schema.FieldSchema
|
||||
(*schemapb.VectorField)(nil), // 9: milvus.proto.schema.VectorField
|
||||
(*ClusteringIndexInfo)(nil), // 5: milvus.proto.clustering.ClusteringIndexInfo
|
||||
(*PartitionClusteringStats)(nil), // 6: milvus.proto.clustering.PartitionClusteringStats
|
||||
(*ClusteringGroup)(nil), // 7: milvus.proto.clustering.ClusteringGroup
|
||||
(*ClusteringRange)(nil), // 8: milvus.proto.clustering.ClusteringRange
|
||||
nil, // 9: milvus.proto.clustering.AnalyzeInfo.InsertFilesEntry
|
||||
nil, // 10: milvus.proto.clustering.AnalyzeInfo.NumRowsEntry
|
||||
nil, // 11: milvus.proto.clustering.AnalyzeInfo.ManifestPathsEntry
|
||||
nil, // 12: milvus.proto.clustering.AnalyzeInfo.ClusterParamsEntry
|
||||
(*schemapb.FieldSchema)(nil), // 13: milvus.proto.schema.FieldSchema
|
||||
(*schemapb.VectorField)(nil), // 14: milvus.proto.schema.VectorField
|
||||
(*commonpb.KeyValuePair)(nil), // 15: milvus.proto.common.KeyValuePair
|
||||
(schemapb.DataType)(0), // 16: milvus.proto.schema.DataType
|
||||
}
|
||||
var file_clustering_proto_depIdxs = []int32{
|
||||
5, // 0: milvus.proto.clustering.AnalyzeInfo.insert_files:type_name -> milvus.proto.clustering.AnalyzeInfo.InsertFilesEntry
|
||||
6, // 1: milvus.proto.clustering.AnalyzeInfo.num_rows:type_name -> milvus.proto.clustering.AnalyzeInfo.NumRowsEntry
|
||||
8, // 2: milvus.proto.clustering.AnalyzeInfo.field_schema:type_name -> milvus.proto.schema.FieldSchema
|
||||
0, // 3: milvus.proto.clustering.AnalyzeInfo.storage_config:type_name -> milvus.proto.clustering.StorageConfig
|
||||
7, // 4: milvus.proto.clustering.AnalyzeInfo.manifest_paths:type_name -> milvus.proto.clustering.AnalyzeInfo.ManifestPathsEntry
|
||||
9, // 5: milvus.proto.clustering.ClusteringCentroidsStats.centroids:type_name -> milvus.proto.schema.VectorField
|
||||
1, // 6: milvus.proto.clustering.AnalyzeInfo.InsertFilesEntry.value:type_name -> milvus.proto.clustering.InsertFiles
|
||||
7, // [7:7] is the sub-list for method output_type
|
||||
7, // [7:7] is the sub-list for method input_type
|
||||
7, // [7:7] is the sub-list for extension type_name
|
||||
7, // [7:7] is the sub-list for extension extendee
|
||||
0, // [0:7] is the sub-list for field type_name
|
||||
9, // 0: milvus.proto.clustering.AnalyzeInfo.insert_files:type_name -> milvus.proto.clustering.AnalyzeInfo.InsertFilesEntry
|
||||
10, // 1: milvus.proto.clustering.AnalyzeInfo.num_rows:type_name -> milvus.proto.clustering.AnalyzeInfo.NumRowsEntry
|
||||
13, // 2: milvus.proto.clustering.AnalyzeInfo.field_schema:type_name -> milvus.proto.schema.FieldSchema
|
||||
0, // 3: milvus.proto.clustering.AnalyzeInfo.storage_config:type_name -> milvus.proto.clustering.StorageConfig
|
||||
11, // 4: milvus.proto.clustering.AnalyzeInfo.manifest_paths:type_name -> milvus.proto.clustering.AnalyzeInfo.ManifestPathsEntry
|
||||
12, // 5: milvus.proto.clustering.AnalyzeInfo.cluster_params:type_name -> milvus.proto.clustering.AnalyzeInfo.ClusterParamsEntry
|
||||
14, // 6: milvus.proto.clustering.ClusteringCentroidsStats.centroids:type_name -> milvus.proto.schema.VectorField
|
||||
15, // 7: milvus.proto.clustering.ClusteringIndexInfo.index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
16, // 8: milvus.proto.clustering.PartitionClusteringStats.data_type:type_name -> milvus.proto.schema.DataType
|
||||
5, // 9: milvus.proto.clustering.PartitionClusteringStats.clustering_index:type_name -> milvus.proto.clustering.ClusteringIndexInfo
|
||||
7, // 10: milvus.proto.clustering.PartitionClusteringStats.groups:type_name -> milvus.proto.clustering.ClusteringGroup
|
||||
1, // 11: milvus.proto.clustering.AnalyzeInfo.InsertFilesEntry.value:type_name -> milvus.proto.clustering.InsertFiles
|
||||
12, // [12:12] is the sub-list for method output_type
|
||||
12, // [12:12] is the sub-list for method input_type
|
||||
12, // [12:12] is the sub-list for extension type_name
|
||||
12, // [12:12] is the sub-list for extension extendee
|
||||
0, // [0:12] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_clustering_proto_init() }
|
||||
@@ -841,6 +1271,54 @@ func file_clustering_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_clustering_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ClusteringIndexInfo); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_clustering_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*PartitionClusteringStats); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_clustering_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ClusteringGroup); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_clustering_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ClusteringRange); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
@@ -848,7 +1326,7 @@ func file_clustering_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_clustering_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 8,
|
||||
NumMessages: 13,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
||||
@@ -860,6 +860,8 @@ message CompactionPlan {
|
||||
// The requesting DataCoord can commit schema-bump manifest deltas. Absent
|
||||
// or false preserves the legacy worker-produced complete manifest response.
|
||||
bool enable_manifest_delta = 32;
|
||||
// Zero only for initial construction; never silently replace a missing base.
|
||||
int64 base_partition_stats_version = 33;
|
||||
}
|
||||
|
||||
// ManifestColumnGroupFile is one loon/parquet file belonging to a column
|
||||
@@ -959,6 +961,9 @@ message CompactionPlanResult {
|
||||
// classifies the original error (merr.Status), so DataCoord can persist the
|
||||
// code/reason and decide retryability instead of seeing a bare `failed`.
|
||||
common.Status fail_status = 6;
|
||||
// Equals planID for a successful vector clustering result, including empty outputs.
|
||||
// The complete snapshot must already exist before returning this receipt.
|
||||
int64 partition_stats_version = 7;
|
||||
}
|
||||
|
||||
message CompactionStateResponse {
|
||||
@@ -1647,6 +1652,8 @@ message CompactionTask{
|
||||
IDRange pre_allocated_segmentIDs = 28;
|
||||
repeated schema.FunctionSchema diff_functions = 29;
|
||||
uint64 create_ts = 30;
|
||||
int64 base_partition_stats_version = 31;
|
||||
map<string, string> clustering_plan_params = 32;
|
||||
}
|
||||
|
||||
message PartitionStatsInfo {
|
||||
@@ -1654,6 +1661,7 @@ message PartitionStatsInfo {
|
||||
int64 partitionID = 2;
|
||||
string vChannel = 3;
|
||||
int64 version = 4;
|
||||
// Complete snapshot coverage, including retained segments from the base.
|
||||
repeated int64 segmentIDs = 5;
|
||||
int64 analyzeTaskID = 6;
|
||||
int64 commitTime = 7;
|
||||
|
||||
+3262
-3201
File diff suppressed because it is too large.
Load diff
@@ -311,6 +311,9 @@ message AnalyzeTask {
|
||||
string fail_reason = 11;
|
||||
int64 dim = 12;
|
||||
string centroids_file = 13;
|
||||
int64 num_clusters = 14;
|
||||
string cluster_type = 15;
|
||||
map<string, string> cluster_params = 16;
|
||||
}
|
||||
|
||||
message SegmentStats {
|
||||
|
||||
+264
-224
@@ -2619,6 +2619,9 @@ type AnalyzeTask struct {
|
||||
FailReason string `protobuf:"bytes,11,opt,name=fail_reason,json=failReason,proto3" json:"fail_reason,omitempty"`
|
||||
Dim int64 `protobuf:"varint,12,opt,name=dim,proto3" json:"dim,omitempty"`
|
||||
CentroidsFile string `protobuf:"bytes,13,opt,name=centroids_file,json=centroidsFile,proto3" json:"centroids_file,omitempty"`
|
||||
NumClusters int64 `protobuf:"varint,14,opt,name=num_clusters,json=numClusters,proto3" json:"num_clusters,omitempty"`
|
||||
ClusterType string `protobuf:"bytes,15,opt,name=cluster_type,json=clusterType,proto3" json:"cluster_type,omitempty"`
|
||||
ClusterParams map[string]string `protobuf:"bytes,16,rep,name=cluster_params,json=clusterParams,proto3" json:"cluster_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
}
|
||||
|
||||
func (x *AnalyzeTask) Reset() {
|
||||
@@ -2744,6 +2747,27 @@ func (x *AnalyzeTask) GetCentroidsFile() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AnalyzeTask) GetNumClusters() int64 {
|
||||
if x != nil {
|
||||
return x.NumClusters
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *AnalyzeTask) GetClusterType() string {
|
||||
if x != nil {
|
||||
return x.ClusterType
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AnalyzeTask) GetClusterParams() map[string]string {
|
||||
if x != nil {
|
||||
return x.ClusterParams
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type SegmentStats struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -3478,7 +3502,7 @@ var file_index_coord_proto_rawDesc = []byte{
|
||||
0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xc2, 0x03, 0x0a,
|
||||
0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xa5, 0x05, 0x0a,
|
||||
0x0b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0c,
|
||||
0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44,
|
||||
@@ -3507,162 +3531,176 @@ var file_index_coord_proto_rawDesc = []byte{
|
||||
0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x64, 0x69, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x65,
|
||||
0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0d, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x46, 0x69, 0x6c,
|
||||
0x65, 0x22, 0x76, 0x0a, 0x0c, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74,
|
||||
0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49,
|
||||
0x44, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x6c, 0x6f, 0x67, 0x49, 0x44, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x6c, 0x6f,
|
||||
0x67, 0x49, 0x44, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74,
|
||||
0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6e,
|
||||
0x69, 0x66, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0x47, 0x0a, 0x0c, 0x46, 0x69, 0x65,
|
||||
0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x65,
|
||||
0x6c, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x66, 0x69, 0x65, 0x6c,
|
||||
0x64, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68,
|
||||
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74,
|
||||
0x68, 0x73, 0x22, 0x91, 0x04, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x54, 0x61, 0x73, 0x6b,
|
||||
0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e,
|
||||
0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65,
|
||||
0x6e, 0x74, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x63,
|
||||
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e,
|
||||
0x73, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x74,
|
||||
0x61, 0x73, 0x6b, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x61, 0x73,
|
||||
0x6b, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a,
|
||||
0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e,
|
||||
0x6f, 0x64, 0x65, 0x49, 0x44, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08,
|
||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61,
|
||||
0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x69,
|
||||
0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
|
||||
0x66, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x61,
|
||||
0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0a,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d,
|
||||
0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x3f, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x4a, 0x6f, 0x62, 0x54,
|
||||
0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x53, 0x75, 0x62, 0x4a, 0x6f, 0x62, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x4a,
|
||||
0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x63,
|
||||
0x79, 0x63, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x52,
|
||||
0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x72,
|
||||
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27,
|
||||
0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e,
|
||||
0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75,
|
||||
0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73,
|
||||
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2a, 0x72, 0x0a, 0x15, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53,
|
||||
0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
|
||||
0x29, 0x0a, 0x25, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x50,
|
||||
0x41, 0x54, 0x48, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x49, 0x4c,
|
||||
0x44, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2e, 0x0a, 0x2a, 0x49, 0x4e,
|
||||
0x44, 0x45, 0x58, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x56,
|
||||
0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f,
|
||||
0x4e, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x45, 0x44, 0x10, 0x01, 0x2a, 0x5b, 0x0a, 0x07, 0x4a, 0x6f,
|
||||
0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65,
|
||||
0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70,
|
||||
0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4a, 0x6f, 0x62, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4a,
|
||||
0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x4a, 0x6f, 0x62,
|
||||
0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61,
|
||||
0x74, 0x73, 0x4a, 0x6f, 0x62, 0x10, 0x03, 0x2a, 0x83, 0x01, 0x0a, 0x08, 0x4a, 0x6f, 0x62, 0x53,
|
||||
0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||
0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61,
|
||||
0x74, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x6f, 0x62, 0x53,
|
||||
0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0x02,
|
||||
0x12, 0x14, 0x0a, 0x10, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6e, 0x69,
|
||||
0x73, 0x68, 0x65, 0x64, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61,
|
||||
0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x6f,
|
||||
0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x74, 0x72, 0x79, 0x10, 0x05, 0x2a, 0x55, 0x0a,
|
||||
0x0b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x75, 0x62, 0x4a, 0x6f, 0x62, 0x12, 0x08, 0x0a, 0x04,
|
||||
0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x10, 0x01,
|
||||
0x12, 0x10, 0x0a, 0x0c, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4a, 0x6f, 0x62,
|
||||
0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4d, 0x32, 0x35, 0x4a, 0x6f, 0x62, 0x10, 0x03, 0x12,
|
||||
0x13, 0x0a, 0x0f, 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4a,
|
||||
0x6f, 0x62, 0x10, 0x04, 0x32, 0xf4, 0x09, 0x0a, 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f,
|
||||
0x6f, 0x72, 0x64, 0x12, 0x54, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
|
||||
0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0a, 0x41, 0x6c, 0x74,
|
||||
0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x41, 0x6c, 0x74,
|
||||
0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b,
|
||||
0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
|
||||
0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
|
||||
0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x32, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x54, 0x61, 0x73, 0x6b,
|
||||
0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61,
|
||||
0x6d, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72,
|
||||
0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
|
||||
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x3a, 0x02, 0x38, 0x01, 0x22, 0x76, 0x0a, 0x0c, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x02, 0x49, 0x44, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x12,
|
||||
0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x49, 0x44, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52,
|
||||
0x06, 0x6c, 0x6f, 0x67, 0x49, 0x44, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x6e, 0x69, 0x66,
|
||||
0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
|
||||
0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0x47, 0x0a, 0x0c,
|
||||
0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07,
|
||||
0x66, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x66,
|
||||
0x69, 0x65, 0x6c, 0x64, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70,
|
||||
0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x91, 0x04, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x54,
|
||||
0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x61,
|
||||
0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x67,
|
||||
0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65,
|
||||
0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x65, 0x72,
|
||||
0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x16,
|
||||
0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
|
||||
0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x44, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
|
||||
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62,
|
||||
0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
|
||||
0x66, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x29, 0x0a,
|
||||
0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49,
|
||||
0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53,
|
||||
0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x3f, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x4a,
|
||||
0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x75, 0x62, 0x4a, 0x6f, 0x62, 0x52, 0x0a, 0x73,
|
||||
0x75, 0x62, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x6e,
|
||||
0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63,
|
||||
0x61, 0x6e, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65,
|
||||
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2a, 0x72, 0x0a, 0x15, 0x49, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69,
|
||||
0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x25, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x53, 0x54, 0x4f, 0x52,
|
||||
0x45, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x42,
|
||||
0x55, 0x49, 0x4c, 0x44, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2e, 0x0a,
|
||||
0x2a, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x50, 0x41, 0x54,
|
||||
0x48, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43,
|
||||
0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x45, 0x44, 0x10, 0x01, 0x2a, 0x5b, 0x0a,
|
||||
0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x54,
|
||||
0x79, 0x70, 0x65, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x6f, 0x62,
|
||||
0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4a, 0x6f, 0x62, 0x10, 0x01, 0x12, 0x15,
|
||||
0x0a, 0x11, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65,
|
||||
0x4a, 0x6f, 0x62, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65,
|
||||
0x53, 0x74, 0x61, 0x74, 0x73, 0x4a, 0x6f, 0x62, 0x10, 0x03, 0x2a, 0x83, 0x01, 0x0a, 0x08, 0x4a,
|
||||
0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x6f, 0x62, 0x53, 0x74,
|
||||
0x61, 0x74, 0x65, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x6f, 0x62,
|
||||
0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4a,
|
||||
0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46,
|
||||
0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x6f, 0x62,
|
||||
0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x04, 0x12, 0x11, 0x0a,
|
||||
0x0d, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x74, 0x72, 0x79, 0x10, 0x05,
|
||||
0x2a, 0x55, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x75, 0x62, 0x4a, 0x6f, 0x62, 0x12,
|
||||
0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x6f, 0x72,
|
||||
0x74, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x4a, 0x6f, 0x62, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4d, 0x32, 0x35, 0x4a, 0x6f, 0x62,
|
||||
0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x4a, 0x6f, 0x62, 0x10, 0x04, 0x32, 0xf4, 0x09, 0x0a, 0x0a, 0x49, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x12, 0x54, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e,
|
||||
0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d,
|
||||
0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0a,
|
||||
0x41, 0x6c, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e,
|
||||
0x41, 0x6c, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00,
|
||||
0x12, 0x66, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74,
|
||||
0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53,
|
||||
0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53,
|
||||
0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||
0x12, 0x2f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
||||
0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74,
|
||||
0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e,
|
||||
0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x49,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x28, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x09, 0x44,
|
||||
0x72, 0x6f, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x44, 0x72,
|
||||
0x6f, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b,
|
||||
0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f,
|
||||
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x66, 0x0a,
|
||||
0x0d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28,
|
||||
0x0d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28,
|
||||
0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74,
|
||||
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65,
|
||||
0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d,
|
||||
0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x2e,
|
||||
0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30,
|
||||
0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x00, 0x12, 0x64, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e,
|
||||
0x66, 0x6f, 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x09, 0x44, 0x72, 0x6f, 0x70,
|
||||
0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x49,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
|
||||
0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x0d, 0x44, 0x65,
|
||||
0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x2e, 0x6d, 0x69,
|
||||
0x64, 0x65, 0x78, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x44, 0x65,
|
||||
0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x2d, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72,
|
||||
0x69, 0x62, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x00, 0x12, 0x75, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74,
|
||||
0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x2d, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65,
|
||||
0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74,
|
||||
0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e,
|
||||
0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69,
|
||||
0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x15,
|
||||
0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f,
|
||||
0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x30, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74,
|
||||
0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x15, 0x47, 0x65, 0x74,
|
||||
0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
|
||||
0x73, 0x73, 0x12, 0x30, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71,
|
||||
0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12,
|
||||
0x53, 0x68, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x12, 0x30, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x43,
|
||||
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x53, 0x68, 0x6f,
|
||||
0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
|
||||
0x30, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69,
|
||||
0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x66,
|
||||
0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6f,
|
||||
0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b,
|
||||
0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x43, 0x68, 0x65,
|
||||
0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x28, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74,
|
||||
0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x32, 0x5a, 0x30, 0x67,
|
||||
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2d, 0x69, 0x6f, 0x2f, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x76,
|
||||
0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x70, 0x62, 0x62,
|
||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x53, 0x68, 0x6f,
|
||||
0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0a, 0x47, 0x65, 0x74,
|
||||
0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x47, 0x65,
|
||||
0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0b, 0x43, 0x68,
|
||||
0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e,
|
||||
0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65,
|
||||
0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x32,
|
||||
0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2d, 0x69, 0x6f, 0x2f, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2f, 0x70, 0x6b,
|
||||
0x67, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -3678,7 +3716,7 @@ func file_index_coord_proto_rawDescGZIP() []byte {
|
||||
}
|
||||
|
||||
var file_index_coord_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
|
||||
var file_index_coord_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
|
||||
var file_index_coord_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
|
||||
var file_index_coord_proto_goTypes = []interface{}{
|
||||
(IndexStorePathVersion)(0), // 0: milvus.proto.index.IndexStorePathVersion
|
||||
(JobType)(0), // 1: milvus.proto.index.JobType
|
||||
@@ -3717,90 +3755,92 @@ var file_index_coord_proto_goTypes = []interface{}{
|
||||
(*FieldLogPath)(nil), // 34: milvus.proto.index.FieldLogPath
|
||||
(*StatsTask)(nil), // 35: milvus.proto.index.StatsTask
|
||||
nil, // 36: milvus.proto.index.GetIndexInfoResponse.SegmentInfoEntry
|
||||
(*commonpb.KeyValuePair)(nil), // 37: milvus.proto.common.KeyValuePair
|
||||
(commonpb.IndexState)(0), // 38: milvus.proto.common.IndexState
|
||||
(*commonpb.MsgBase)(nil), // 39: milvus.proto.common.MsgBase
|
||||
(*commonpb.Address)(nil), // 40: milvus.proto.common.Address
|
||||
(*commonpb.Status)(nil), // 41: milvus.proto.common.Status
|
||||
(*internalpb.InitParams)(nil), // 42: milvus.proto.internal.InitParams
|
||||
(schemapb.DataType)(0), // 43: milvus.proto.schema.DataType
|
||||
(*internalpb.FileResourceInfo)(nil), // 44: milvus.proto.internal.FileResourceInfo
|
||||
(*internalpb.ShowConfigurationsRequest)(nil), // 45: milvus.proto.internal.ShowConfigurationsRequest
|
||||
(*milvuspb.GetMetricsRequest)(nil), // 46: milvus.proto.milvus.GetMetricsRequest
|
||||
(*milvuspb.CheckHealthRequest)(nil), // 47: milvus.proto.milvus.CheckHealthRequest
|
||||
(*internalpb.ShowConfigurationsResponse)(nil), // 48: milvus.proto.internal.ShowConfigurationsResponse
|
||||
(*milvuspb.GetMetricsResponse)(nil), // 49: milvus.proto.milvus.GetMetricsResponse
|
||||
(*milvuspb.CheckHealthResponse)(nil), // 50: milvus.proto.milvus.CheckHealthResponse
|
||||
nil, // 37: milvus.proto.index.AnalyzeTask.ClusterParamsEntry
|
||||
(*commonpb.KeyValuePair)(nil), // 38: milvus.proto.common.KeyValuePair
|
||||
(commonpb.IndexState)(0), // 39: milvus.proto.common.IndexState
|
||||
(*commonpb.MsgBase)(nil), // 40: milvus.proto.common.MsgBase
|
||||
(*commonpb.Address)(nil), // 41: milvus.proto.common.Address
|
||||
(*commonpb.Status)(nil), // 42: milvus.proto.common.Status
|
||||
(*internalpb.InitParams)(nil), // 43: milvus.proto.internal.InitParams
|
||||
(schemapb.DataType)(0), // 44: milvus.proto.schema.DataType
|
||||
(*internalpb.FileResourceInfo)(nil), // 45: milvus.proto.internal.FileResourceInfo
|
||||
(*internalpb.ShowConfigurationsRequest)(nil), // 46: milvus.proto.internal.ShowConfigurationsRequest
|
||||
(*milvuspb.GetMetricsRequest)(nil), // 47: milvus.proto.milvus.GetMetricsRequest
|
||||
(*milvuspb.CheckHealthRequest)(nil), // 48: milvus.proto.milvus.CheckHealthRequest
|
||||
(*internalpb.ShowConfigurationsResponse)(nil), // 49: milvus.proto.internal.ShowConfigurationsResponse
|
||||
(*milvuspb.GetMetricsResponse)(nil), // 50: milvus.proto.milvus.GetMetricsResponse
|
||||
(*milvuspb.CheckHealthResponse)(nil), // 51: milvus.proto.milvus.CheckHealthResponse
|
||||
}
|
||||
var file_index_coord_proto_depIdxs = []int32{
|
||||
37, // 0: milvus.proto.index.IndexInfo.type_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
37, // 1: milvus.proto.index.IndexInfo.index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
38, // 2: milvus.proto.index.IndexInfo.state:type_name -> milvus.proto.common.IndexState
|
||||
37, // 3: milvus.proto.index.IndexInfo.user_index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
38, // 0: milvus.proto.index.IndexInfo.type_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
38, // 1: milvus.proto.index.IndexInfo.index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
39, // 2: milvus.proto.index.IndexInfo.state:type_name -> milvus.proto.common.IndexState
|
||||
38, // 3: milvus.proto.index.IndexInfo.user_index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
4, // 4: milvus.proto.index.FieldIndex.index_info:type_name -> milvus.proto.index.IndexInfo
|
||||
38, // 5: milvus.proto.index.SegmentIndex.state:type_name -> milvus.proto.common.IndexState
|
||||
39, // 5: milvus.proto.index.SegmentIndex.state:type_name -> milvus.proto.common.IndexState
|
||||
0, // 6: milvus.proto.index.SegmentIndex.index_store_path_version:type_name -> milvus.proto.index.IndexStorePathVersion
|
||||
39, // 7: milvus.proto.index.RegisterNodeRequest.base:type_name -> milvus.proto.common.MsgBase
|
||||
40, // 8: milvus.proto.index.RegisterNodeRequest.address:type_name -> milvus.proto.common.Address
|
||||
41, // 9: milvus.proto.index.RegisterNodeResponse.status:type_name -> milvus.proto.common.Status
|
||||
42, // 10: milvus.proto.index.RegisterNodeResponse.init_params:type_name -> milvus.proto.internal.InitParams
|
||||
41, // 11: milvus.proto.index.GetIndexStateResponse.status:type_name -> milvus.proto.common.Status
|
||||
38, // 12: milvus.proto.index.GetIndexStateResponse.state:type_name -> milvus.proto.common.IndexState
|
||||
38, // 13: milvus.proto.index.SegmentIndexState.state:type_name -> milvus.proto.common.IndexState
|
||||
41, // 14: milvus.proto.index.GetSegmentIndexStateResponse.status:type_name -> milvus.proto.common.Status
|
||||
40, // 7: milvus.proto.index.RegisterNodeRequest.base:type_name -> milvus.proto.common.MsgBase
|
||||
41, // 8: milvus.proto.index.RegisterNodeRequest.address:type_name -> milvus.proto.common.Address
|
||||
42, // 9: milvus.proto.index.RegisterNodeResponse.status:type_name -> milvus.proto.common.Status
|
||||
43, // 10: milvus.proto.index.RegisterNodeResponse.init_params:type_name -> milvus.proto.internal.InitParams
|
||||
42, // 11: milvus.proto.index.GetIndexStateResponse.status:type_name -> milvus.proto.common.Status
|
||||
39, // 12: milvus.proto.index.GetIndexStateResponse.state:type_name -> milvus.proto.common.IndexState
|
||||
39, // 13: milvus.proto.index.SegmentIndexState.state:type_name -> milvus.proto.common.IndexState
|
||||
42, // 14: milvus.proto.index.GetSegmentIndexStateResponse.status:type_name -> milvus.proto.common.Status
|
||||
12, // 15: milvus.proto.index.GetSegmentIndexStateResponse.states:type_name -> milvus.proto.index.SegmentIndexState
|
||||
37, // 16: milvus.proto.index.CreateIndexRequest.type_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
37, // 17: milvus.proto.index.CreateIndexRequest.index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
37, // 18: milvus.proto.index.CreateIndexRequest.user_index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
37, // 19: milvus.proto.index.AlterIndexRequest.params:type_name -> milvus.proto.common.KeyValuePair
|
||||
37, // 20: milvus.proto.index.IndexFilePathInfo.index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
38, // 16: milvus.proto.index.CreateIndexRequest.type_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
38, // 17: milvus.proto.index.CreateIndexRequest.index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
38, // 18: milvus.proto.index.CreateIndexRequest.user_index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
38, // 19: milvus.proto.index.AlterIndexRequest.params:type_name -> milvus.proto.common.KeyValuePair
|
||||
38, // 20: milvus.proto.index.IndexFilePathInfo.index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
0, // 21: milvus.proto.index.IndexFilePathInfo.index_store_path_version:type_name -> milvus.proto.index.IndexStorePathVersion
|
||||
17, // 22: milvus.proto.index.SegmentInfo.index_infos:type_name -> milvus.proto.index.IndexFilePathInfo
|
||||
41, // 23: milvus.proto.index.GetIndexInfoResponse.status:type_name -> milvus.proto.common.Status
|
||||
42, // 23: milvus.proto.index.GetIndexInfoResponse.status:type_name -> milvus.proto.common.Status
|
||||
36, // 24: milvus.proto.index.GetIndexInfoResponse.segment_info:type_name -> milvus.proto.index.GetIndexInfoResponse.SegmentInfoEntry
|
||||
41, // 25: milvus.proto.index.DescribeIndexResponse.status:type_name -> milvus.proto.common.Status
|
||||
42, // 25: milvus.proto.index.DescribeIndexResponse.status:type_name -> milvus.proto.common.Status
|
||||
4, // 26: milvus.proto.index.DescribeIndexResponse.index_infos:type_name -> milvus.proto.index.IndexInfo
|
||||
41, // 27: milvus.proto.index.GetIndexBuildProgressResponse.status:type_name -> milvus.proto.common.Status
|
||||
37, // 28: milvus.proto.index.JobInfo.index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
41, // 29: milvus.proto.index.GetIndexStatisticsResponse.status:type_name -> milvus.proto.common.Status
|
||||
42, // 27: milvus.proto.index.GetIndexBuildProgressResponse.status:type_name -> milvus.proto.common.Status
|
||||
38, // 28: milvus.proto.index.JobInfo.index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
42, // 29: milvus.proto.index.GetIndexStatisticsResponse.status:type_name -> milvus.proto.common.Status
|
||||
4, // 30: milvus.proto.index.GetIndexStatisticsResponse.index_infos:type_name -> milvus.proto.index.IndexInfo
|
||||
41, // 31: milvus.proto.index.ListIndexesResponse.status:type_name -> milvus.proto.common.Status
|
||||
42, // 31: milvus.proto.index.ListIndexesResponse.status:type_name -> milvus.proto.common.Status
|
||||
4, // 32: milvus.proto.index.ListIndexesResponse.index_infos:type_name -> milvus.proto.index.IndexInfo
|
||||
43, // 33: milvus.proto.index.AnalyzeTask.field_type:type_name -> milvus.proto.schema.DataType
|
||||
44, // 33: milvus.proto.index.AnalyzeTask.field_type:type_name -> milvus.proto.schema.DataType
|
||||
2, // 34: milvus.proto.index.AnalyzeTask.state:type_name -> milvus.proto.index.JobState
|
||||
2, // 35: milvus.proto.index.StatsTask.state:type_name -> milvus.proto.index.JobState
|
||||
3, // 36: milvus.proto.index.StatsTask.subJobType:type_name -> milvus.proto.index.StatsSubJob
|
||||
44, // 37: milvus.proto.index.StatsTask.file_resources:type_name -> milvus.proto.internal.FileResourceInfo
|
||||
18, // 38: milvus.proto.index.GetIndexInfoResponse.SegmentInfoEntry.value:type_name -> milvus.proto.index.SegmentInfo
|
||||
14, // 39: milvus.proto.index.IndexCoord.CreateIndex:input_type -> milvus.proto.index.CreateIndexRequest
|
||||
15, // 40: milvus.proto.index.IndexCoord.AlterIndex:input_type -> milvus.proto.index.AlterIndexRequest
|
||||
9, // 41: milvus.proto.index.IndexCoord.GetIndexState:input_type -> milvus.proto.index.GetIndexStateRequest
|
||||
11, // 42: milvus.proto.index.IndexCoord.GetSegmentIndexState:input_type -> milvus.proto.index.GetSegmentIndexStateRequest
|
||||
16, // 43: milvus.proto.index.IndexCoord.GetIndexInfos:input_type -> milvus.proto.index.GetIndexInfoRequest
|
||||
20, // 44: milvus.proto.index.IndexCoord.DropIndex:input_type -> milvus.proto.index.DropIndexRequest
|
||||
21, // 45: milvus.proto.index.IndexCoord.DescribeIndex:input_type -> milvus.proto.index.DescribeIndexRequest
|
||||
28, // 46: milvus.proto.index.IndexCoord.GetIndexStatistics:input_type -> milvus.proto.index.GetIndexStatisticsRequest
|
||||
23, // 47: milvus.proto.index.IndexCoord.GetIndexBuildProgress:input_type -> milvus.proto.index.GetIndexBuildProgressRequest
|
||||
45, // 48: milvus.proto.index.IndexCoord.ShowConfigurations:input_type -> milvus.proto.internal.ShowConfigurationsRequest
|
||||
46, // 49: milvus.proto.index.IndexCoord.GetMetrics:input_type -> milvus.proto.milvus.GetMetricsRequest
|
||||
47, // 50: milvus.proto.index.IndexCoord.CheckHealth:input_type -> milvus.proto.milvus.CheckHealthRequest
|
||||
41, // 51: milvus.proto.index.IndexCoord.CreateIndex:output_type -> milvus.proto.common.Status
|
||||
41, // 52: milvus.proto.index.IndexCoord.AlterIndex:output_type -> milvus.proto.common.Status
|
||||
10, // 53: milvus.proto.index.IndexCoord.GetIndexState:output_type -> milvus.proto.index.GetIndexStateResponse
|
||||
13, // 54: milvus.proto.index.IndexCoord.GetSegmentIndexState:output_type -> milvus.proto.index.GetSegmentIndexStateResponse
|
||||
19, // 55: milvus.proto.index.IndexCoord.GetIndexInfos:output_type -> milvus.proto.index.GetIndexInfoResponse
|
||||
41, // 56: milvus.proto.index.IndexCoord.DropIndex:output_type -> milvus.proto.common.Status
|
||||
22, // 57: milvus.proto.index.IndexCoord.DescribeIndex:output_type -> milvus.proto.index.DescribeIndexResponse
|
||||
29, // 58: milvus.proto.index.IndexCoord.GetIndexStatistics:output_type -> milvus.proto.index.GetIndexStatisticsResponse
|
||||
24, // 59: milvus.proto.index.IndexCoord.GetIndexBuildProgress:output_type -> milvus.proto.index.GetIndexBuildProgressResponse
|
||||
48, // 60: milvus.proto.index.IndexCoord.ShowConfigurations:output_type -> milvus.proto.internal.ShowConfigurationsResponse
|
||||
49, // 61: milvus.proto.index.IndexCoord.GetMetrics:output_type -> milvus.proto.milvus.GetMetricsResponse
|
||||
50, // 62: milvus.proto.index.IndexCoord.CheckHealth:output_type -> milvus.proto.milvus.CheckHealthResponse
|
||||
51, // [51:63] is the sub-list for method output_type
|
||||
39, // [39:51] is the sub-list for method input_type
|
||||
39, // [39:39] is the sub-list for extension type_name
|
||||
39, // [39:39] is the sub-list for extension extendee
|
||||
0, // [0:39] is the sub-list for field type_name
|
||||
37, // 35: milvus.proto.index.AnalyzeTask.cluster_params:type_name -> milvus.proto.index.AnalyzeTask.ClusterParamsEntry
|
||||
2, // 36: milvus.proto.index.StatsTask.state:type_name -> milvus.proto.index.JobState
|
||||
3, // 37: milvus.proto.index.StatsTask.subJobType:type_name -> milvus.proto.index.StatsSubJob
|
||||
45, // 38: milvus.proto.index.StatsTask.file_resources:type_name -> milvus.proto.internal.FileResourceInfo
|
||||
18, // 39: milvus.proto.index.GetIndexInfoResponse.SegmentInfoEntry.value:type_name -> milvus.proto.index.SegmentInfo
|
||||
14, // 40: milvus.proto.index.IndexCoord.CreateIndex:input_type -> milvus.proto.index.CreateIndexRequest
|
||||
15, // 41: milvus.proto.index.IndexCoord.AlterIndex:input_type -> milvus.proto.index.AlterIndexRequest
|
||||
9, // 42: milvus.proto.index.IndexCoord.GetIndexState:input_type -> milvus.proto.index.GetIndexStateRequest
|
||||
11, // 43: milvus.proto.index.IndexCoord.GetSegmentIndexState:input_type -> milvus.proto.index.GetSegmentIndexStateRequest
|
||||
16, // 44: milvus.proto.index.IndexCoord.GetIndexInfos:input_type -> milvus.proto.index.GetIndexInfoRequest
|
||||
20, // 45: milvus.proto.index.IndexCoord.DropIndex:input_type -> milvus.proto.index.DropIndexRequest
|
||||
21, // 46: milvus.proto.index.IndexCoord.DescribeIndex:input_type -> milvus.proto.index.DescribeIndexRequest
|
||||
28, // 47: milvus.proto.index.IndexCoord.GetIndexStatistics:input_type -> milvus.proto.index.GetIndexStatisticsRequest
|
||||
23, // 48: milvus.proto.index.IndexCoord.GetIndexBuildProgress:input_type -> milvus.proto.index.GetIndexBuildProgressRequest
|
||||
46, // 49: milvus.proto.index.IndexCoord.ShowConfigurations:input_type -> milvus.proto.internal.ShowConfigurationsRequest
|
||||
47, // 50: milvus.proto.index.IndexCoord.GetMetrics:input_type -> milvus.proto.milvus.GetMetricsRequest
|
||||
48, // 51: milvus.proto.index.IndexCoord.CheckHealth:input_type -> milvus.proto.milvus.CheckHealthRequest
|
||||
42, // 52: milvus.proto.index.IndexCoord.CreateIndex:output_type -> milvus.proto.common.Status
|
||||
42, // 53: milvus.proto.index.IndexCoord.AlterIndex:output_type -> milvus.proto.common.Status
|
||||
10, // 54: milvus.proto.index.IndexCoord.GetIndexState:output_type -> milvus.proto.index.GetIndexStateResponse
|
||||
13, // 55: milvus.proto.index.IndexCoord.GetSegmentIndexState:output_type -> milvus.proto.index.GetSegmentIndexStateResponse
|
||||
19, // 56: milvus.proto.index.IndexCoord.GetIndexInfos:output_type -> milvus.proto.index.GetIndexInfoResponse
|
||||
42, // 57: milvus.proto.index.IndexCoord.DropIndex:output_type -> milvus.proto.common.Status
|
||||
22, // 58: milvus.proto.index.IndexCoord.DescribeIndex:output_type -> milvus.proto.index.DescribeIndexResponse
|
||||
29, // 59: milvus.proto.index.IndexCoord.GetIndexStatistics:output_type -> milvus.proto.index.GetIndexStatisticsResponse
|
||||
24, // 60: milvus.proto.index.IndexCoord.GetIndexBuildProgress:output_type -> milvus.proto.index.GetIndexBuildProgressResponse
|
||||
49, // 61: milvus.proto.index.IndexCoord.ShowConfigurations:output_type -> milvus.proto.internal.ShowConfigurationsResponse
|
||||
50, // 62: milvus.proto.index.IndexCoord.GetMetrics:output_type -> milvus.proto.milvus.GetMetricsResponse
|
||||
51, // 63: milvus.proto.index.IndexCoord.CheckHealth:output_type -> milvus.proto.milvus.CheckHealthResponse
|
||||
52, // [52:64] is the sub-list for method output_type
|
||||
40, // [40:52] is the sub-list for method input_type
|
||||
40, // [40:40] is the sub-list for extension type_name
|
||||
40, // [40:40] is the sub-list for extension extendee
|
||||
0, // [0:40] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_index_coord_proto_init() }
|
||||
@@ -4200,7 +4240,7 @@ func file_index_coord_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_index_coord_proto_rawDesc,
|
||||
NumEnums: 4,
|
||||
NumMessages: 33,
|
||||
NumMessages: 34,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
|
||||
@@ -842,6 +842,8 @@ message SyncAction {
|
||||
int64 TargetVersion = 9;
|
||||
repeated int64 droppedInTarget = 10;
|
||||
msg.MsgPosition checkpoint = 11;
|
||||
// For snapshot-owned layouts, UpdateVersion activates complete bindings
|
||||
// with the segment view. UpdatePartitionStats may only prefetch that format.
|
||||
map<int64, int64> partition_stats_versions = 12;
|
||||
msg.MsgPosition deleteCP = 13;
|
||||
map<int64, int64> sealed_segment_row_count = 14; // segmentID -> row count, same as sealedInTarget
|
||||
@@ -980,6 +982,8 @@ message ChannelTarget {
|
||||
repeated PartitionTarget partition_targets = 4;
|
||||
msg.MsgPosition seek_position = 5;
|
||||
msg.MsgPosition delete_checkpoint = 6;
|
||||
// Exact stats versions bound to this persisted target, per partition.
|
||||
map<int64, int64> partition_stats_versions = 7;
|
||||
}
|
||||
|
||||
message CollectionTarget {
|
||||
|
||||
+1171
-1146
File diff suppressed because it is too large.
Load diff
@@ -170,6 +170,8 @@ message AnalyzeRequest {
|
||||
int64 max_cluster_size = 17;
|
||||
int64 task_slot = 18;
|
||||
repeated common.KeyValuePair plugin_context = 19;
|
||||
string cluster_type = 20;
|
||||
map<string, string> cluster_params = 21;
|
||||
}
|
||||
|
||||
message CreateStatsRequest {
|
||||
|
||||
+468
-438
@@ -917,6 +917,8 @@ type AnalyzeRequest struct {
|
||||
MaxClusterSize int64 `protobuf:"varint,17,opt,name=max_cluster_size,json=maxClusterSize,proto3" json:"max_cluster_size,omitempty"`
|
||||
TaskSlot int64 `protobuf:"varint,18,opt,name=task_slot,json=taskSlot,proto3" json:"task_slot,omitempty"`
|
||||
PluginContext []*commonpb.KeyValuePair `protobuf:"bytes,19,rep,name=plugin_context,json=pluginContext,proto3" json:"plugin_context,omitempty"`
|
||||
ClusterType string `protobuf:"bytes,20,opt,name=cluster_type,json=clusterType,proto3" json:"cluster_type,omitempty"`
|
||||
ClusterParams map[string]string `protobuf:"bytes,21,rep,name=cluster_params,json=clusterParams,proto3" json:"cluster_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
}
|
||||
|
||||
func (x *AnalyzeRequest) Reset() {
|
||||
@@ -1084,6 +1086,20 @@ func (x *AnalyzeRequest) GetPluginContext() []*commonpb.KeyValuePair {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *AnalyzeRequest) GetClusterType() string {
|
||||
if x != nil {
|
||||
return x.ClusterType
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AnalyzeRequest) GetClusterParams() map[string]string {
|
||||
if x != nil {
|
||||
return x.ClusterParams
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type CreateStatsRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -2449,7 +2465,7 @@ var file_worker_proto_rawDesc = []byte{
|
||||
0x64, 0x69, 0x73, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62,
|
||||
0x6c, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
|
||||
0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74,
|
||||
0x61, 0x6c, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x22, 0xbd, 0x07, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c,
|
||||
0x61, 0x6c, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x22, 0x80, 0x09, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c,
|
||||
0x79, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c,
|
||||
0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63,
|
||||
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b,
|
||||
@@ -2503,360 +2519,372 @@ var file_worker_proto_rawDesc = []byte{
|
||||
0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75,
|
||||
0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0d, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x65, 0x78, 0x74, 0x1a, 0x61, 0x0a, 0x11, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76,
|
||||
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x74, 0x65, 0x78, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
|
||||
0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5c, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x35, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d,
|
||||
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50,
|
||||
0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x61, 0x0a, 0x11, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74,
|
||||
0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
||||
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x76,
|
||||
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
|
||||
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf1, 0x0c, 0x0a, 0x12, 0x43,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x12,
|
||||
0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63,
|
||||
0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70,
|
||||
0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x25, 0x0a,
|
||||
0x0e, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18,
|
||||
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61,
|
||||
0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49,
|
||||
0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74,
|
||||
0x49, 0x44, 0x12, 0x3f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x67,
|
||||
0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c,
|
||||
0x64, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4c,
|
||||
0x6f, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6c, 0x6f, 0x67,
|
||||
0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c,
|
||||
0x64, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4c, 0x6f,
|
||||
0x67, 0x73, 0x12, 0x48, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f,
|
||||
0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e,
|
||||
0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61,
|
||||
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf1, 0x0c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c,
|
||||
0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x61,
|
||||
0x73, 0x6b, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c,
|
||||
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74,
|
||||
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70,
|
||||
0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e,
|
||||
0x73, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
|
||||
0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12,
|
||||
0x3f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x07,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x69,
|
||||
0x6e, 0x6c, 0x6f, 0x67, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x73,
|
||||
0x12, 0x3d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x08,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x69,
|
||||
0x6e, 0x6c, 0x6f, 0x67, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x73, 0x12,
|
||||
0x48, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
|
||||
0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x53, 0x74, 0x6f,
|
||||
0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72,
|
||||
0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x63, 0x68,
|
||||
0x65, 0x6d, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e,
|
||||
0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
|
||||
0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3f, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x4a,
|
||||
0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6d,
|
||||
0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x73,
|
||||
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x06,
|
||||
0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x63, 0x68, 0x65,
|
||||
0x6d, 0x61, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68,
|
||||
0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3f, 0x0a, 0x0a, 0x73,
|
||||
0x75, 0x62, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x1f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x75, 0x62, 0x4a, 0x6f, 0x62,
|
||||
0x52, 0x0a, 0x73, 0x75, 0x62, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f,
|
||||
0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18,
|
||||
0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x67,
|
||||
0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4c,
|
||||
0x6f, 0x67, 0x49, 0x44, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72,
|
||||
0x74, 0x4c, 0x6f, 0x67, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x67,
|
||||
0x49, 0x44, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x67,
|
||||
0x49, 0x44, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x0f,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x25, 0x0a,
|
||||
0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x74, 0x6c, 0x18,
|
||||
0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x54, 0x74, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f,
|
||||
0x74, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
|
||||
0x74, 0x54, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x56,
|
||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
|
||||
0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62,
|
||||
0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x31, 0x0a, 0x15,
|
||||
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
|
||||
0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12,
|
||||
0x40, 0x0a, 0x1d, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74,
|
||||
0x73, 0x5f, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x76, 0x79, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
|
||||
0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x6a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x54, 0x61, 0x6e, 0x74, 0x69, 0x76, 0x79, 0x4d, 0x65, 0x6d, 0x6f, 0x72,
|
||||
0x79, 0x12, 0x3a, 0x0a, 0x1a, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74,
|
||||
0x61, 0x74, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18,
|
||||
0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x6a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x3f, 0x0a,
|
||||
0x1d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79,
|
||||
0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x17,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4a, 0x73, 0x6f, 0x6e,
|
||||
0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x1b,
|
||||
0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73,
|
||||
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x19,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f,
|
||||
0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x65, 0x72,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x63, 0x75, 0x72, 0x72,
|
||||
0x65, 0x6e, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x56, 0x65,
|
||||
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x0e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f,
|
||||
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e,
|
||||
0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d,
|
||||
0x6d, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72,
|
||||
0x52, 0x0d, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
|
||||
0x46, 0x0a, 0x20, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6d, 0x61,
|
||||
0x78, 0x5f, 0x73, 0x68, 0x72, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75,
|
||||
0x6d, 0x6e, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x6a, 0x73, 0x6f, 0x6e, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x78, 0x53, 0x68, 0x72, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67,
|
||||
0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x24, 0x6a, 0x73, 0x6f, 0x6e, 0x5f,
|
||||
0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x68, 0x72, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f,
|
||||
0x72, 0x61, 0x74, 0x69, 0x6f, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18,
|
||||
0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x20, 0x6a, 0x73, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||
0x53, 0x68, 0x72, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x54, 0x68,
|
||||
0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x1b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f,
|
||||
0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x74, 0x63,
|
||||
0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x6a, 0x73,
|
||||
0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63,
|
||||
0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73,
|
||||
0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61,
|
||||
0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4e, 0x0a, 0x0e, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x20, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52,
|
||||
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x6e,
|
||||
0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x65,
|
||||
0x6c, 0x74, 0x61, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0xf8,
|
||||
0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x56, 0x32, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
|
||||
0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
||||
0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x12, 0x36, 0x0a, 0x08, 0x6a,
|
||||
0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e,
|
||||
0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x54,
|
||||
0x79, 0x70, 0x65, 0x12, 0x4d, 0x0a, 0x0f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x5f, 0x72,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x75, 0x62, 0x4a, 0x6f, 0x62, 0x52, 0x0a, 0x73,
|
||||
0x75, 0x62, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x61, 0x72,
|
||||
0x67, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e,
|
||||
0x74, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x49,
|
||||
0x44, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x6f,
|
||||
0x67, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x67, 0x49, 0x44, 0x18,
|
||||
0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x67, 0x49, 0x44, 0x12,
|
||||
0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f,
|
||||
0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x10, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x74,
|
||||
0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x73, 0x18,
|
||||
0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x73,
|
||||
0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x56, 0x65, 0x72, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x4d, 0x61, 0x78,
|
||||
0x53, 0x69, 0x7a, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x69, 0x6e, 0x6c,
|
||||
0x6f, 0x67, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x65, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x61,
|
||||
0x74, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||
0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x1d,
|
||||
0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x74,
|
||||
0x61, 0x6e, 0x74, 0x69, 0x76, 0x79, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x15, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x19, 0x6a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74,
|
||||
0x73, 0x54, 0x61, 0x6e, 0x74, 0x69, 0x76, 0x79, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x3a,
|
||||
0x0a, 0x1a, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73,
|
||||
0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x16, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x16, 0x6a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||
0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x3f, 0x0a, 0x1d, 0x65, 0x6e,
|
||||
0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74,
|
||||
0x61, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79,
|
||||
0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74,
|
||||
0x61, 0x73, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
|
||||
0x74, 0x61, 0x73, 0x6b, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72,
|
||||
0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x61,
|
||||
0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
|
||||
0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x56, 0x65, 0x72, 0x73, 0x69,
|
||||
0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x0e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
|
||||
0x74, 0x65, 0x78, 0x74, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
|
||||
0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0d, 0x70,
|
||||
0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, 0x20,
|
||||
0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73,
|
||||
0x68, 0x72, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73,
|
||||
0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x6a, 0x73, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
|
||||
0x73, 0x4d, 0x61, 0x78, 0x53, 0x68, 0x72, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c,
|
||||
0x75, 0x6d, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x24, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61,
|
||||
0x74, 0x73, 0x5f, 0x73, 0x68, 0x72, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x1d, 0x20, 0x01,
|
||||
0x28, 0x01, 0x52, 0x20, 0x6a, 0x73, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x68, 0x72,
|
||||
0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x54, 0x68, 0x72, 0x65, 0x73,
|
||||
0x68, 0x6f, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x1b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61,
|
||||
0x74, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73,
|
||||
0x69, 0x7a, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x6a, 0x73, 0x6f, 0x6e, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69,
|
||||
0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x70,
|
||||
0x61, 0x74, 0x68, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x69, 0x66,
|
||||
0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4e, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x5f,
|
||||
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69,
|
||||
0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f,
|
||||
0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65,
|
||||
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61,
|
||||
0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61,
|
||||
0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0xf8, 0x02, 0x0a, 0x12,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44,
|
||||
0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x12, 0x36, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f,
|
||||
0x78, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x48, 0x00, 0x52, 0x0e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x4b, 0x0a, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x43,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48,
|
||||
0x00, 0x52, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||
0x4d, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
|
||||
0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x09,
|
||||
0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x12, 0x51, 0x75,
|
||||
0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52,
|
||||
0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f,
|
||||
0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e,
|
||||
0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65,
|
||||
0x12, 0x4d, 0x0a, 0x0f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x41,
|
||||
0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
|
||||
0x0e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||
0x4b, 0x0a, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c,
|
||||
0x69, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0d,
|
||||
0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x73,
|
||||
0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x72,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79,
|
||||
0x4a, 0x6f, 0x62, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a,
|
||||
0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x74,
|
||||
0x61, 0x73, 0x6b, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x74, 0x61,
|
||||
0x73, 0x6b, 0x49, 0x44, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70,
|
||||
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62,
|
||||
0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x22, 0xfa, 0x03,
|
||||
0x0a, 0x0d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12,
|
||||
0x18, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x44, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, 0x61,
|
||||
0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
|
||||
0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6b,
|
||||
0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x46, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x69,
|
||||
0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x04, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x69, 0x7a,
|
||||
0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73,
|
||||
0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x56,
|
||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x13, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f,
|
||||
0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20,
|
||||
0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74,
|
||||
0x6f, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x65,
|
||||
0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x65,
|
||||
0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
|
||||
0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x65,
|
||||
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x63, 0x75, 0x72,
|
||||
0x72, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x56,
|
||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x18, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f,
|
||||
0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
|
||||
0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x52, 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50,
|
||||
0x61, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4e, 0x0a, 0x0f, 0x49, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 0x0a,
|
||||
0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21,
|
||||
0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x0d, 0x41,
|
||||
0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x61,
|
||||
0x73, 0x6b, 0x49, 0x44, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74,
|
||||
0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x69, 0x6c,
|
||||
0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66,
|
||||
0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x65, 0x6e,
|
||||
0x74, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x0d, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x46, 0x69, 0x6c, 0x65,
|
||||
0x22, 0x4d, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
|
||||
0x74, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65,
|
||||
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22,
|
||||
0x9e, 0x07, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
|
||||
0x22, 0xfa, 0x03, 0x0a, 0x0d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e,
|
||||
0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x44, 0x12, 0x35, 0x0a, 0x05,
|
||||
0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
|
||||
0x6e, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
|
||||
0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73,
|
||||
0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64,
|
||||
0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61,
|
||||
0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x52,
|
||||
0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
|
||||
0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x13, 0x69, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x69, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a,
|
||||
0x08, 0x6d, 0x65, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52,
|
||||
0x07, 0x6d, 0x65, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x75, 0x72, 0x72,
|
||||
0x65, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19,
|
||||
0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x49, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x18, 0x69, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x76, 0x65,
|
||||
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x74, 0x68, 0x56,
|
||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6f,
|
||||
0x72, 0x65, 0x50, 0x61, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4e, 0x0a,
|
||||
0x0f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
|
||||
0x12, 0x3b, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x61, 0x73, 0x6b,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xa3, 0x01,
|
||||
0x0a, 0x0d, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
|
||||
0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x53,
|
||||
0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66,
|
||||
0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c,
|
||||
0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44,
|
||||
0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18,
|
||||
0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18,
|
||||
0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44,
|
||||
0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3f, 0x0a, 0x0b, 0x69, 0x6e,
|
||||
0x73, 0x65, 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x64,
|
||||
0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x52,
|
||||
0x0a, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x73,
|
||||
0x74, 0x61, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x64,
|
||||
0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x52,
|
||||
0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x5a, 0x0a, 0x0f, 0x74, 0x65,
|
||||
0x78, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x0a, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65,
|
||||
0x73, 0x75, 0x6c, 0x74, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4c, 0x6f,
|
||||
0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x53, 0x74, 0x61,
|
||||
0x74, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x6f,
|
||||
0x77, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x77,
|
||||
0x73, 0x12, 0x3b, 0x0a, 0x09, 0x62, 0x6d, 0x32, 0x35, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x0c,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x69,
|
||||
0x6e, 0x6c, 0x6f, 0x67, 0x52, 0x08, 0x62, 0x6d, 0x32, 0x35, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x64,
|
||||
0x0a, 0x13, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73,
|
||||
0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4a, 0x73, 0x6f,
|
||||
0x6e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x52, 0x10, 0x6a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||
0x4c, 0x6f, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74,
|
||||
0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74,
|
||||
0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73,
|
||||
0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x6e,
|
||||
0x69, 0x66, 0x65, 0x73, 0x74, 0x1a, 0x63, 0x0a, 0x12, 0x54, 0x65, 0x78, 0x74, 0x53, 0x74, 0x61,
|
||||
0x74, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
|
||||
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x37, 0x0a,
|
||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x64, 0x61, 0x74, 0x61,
|
||||
0x2e, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
|
||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x15, 0x4a, 0x73,
|
||||
0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79,
|
||||
0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
|
||||
0x22, 0x49, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
|
||||
0x12, 0x39, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75,
|
||||
0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xeb, 0x02, 0x0a, 0x13,
|
||||
0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
|
||||
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x12, 0x51, 0x0a, 0x11, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f,
|
||||
0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4a, 0x6f, 0x62, 0x52,
|
||||
0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4a,
|
||||
0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x13, 0x61, 0x6e, 0x61,
|
||||
0x6c, 0x79, 0x7a, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e,
|
||||
0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e,
|
||||
0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x46,
|
||||
0x69, 0x6c, 0x65, 0x22, 0x4d, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x52, 0x65,
|
||||
0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
|
||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x41, 0x6e, 0x61, 0x6c,
|
||||
0x79, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x11, 0x61, 0x6e,
|
||||
0x61, 0x6c, 0x79, 0x7a, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12,
|
||||
0x4e, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x73,
|
||||
0x75, 0x6c, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e,
|
||||
0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0f,
|
||||
0x73, 0x74, 0x61, 0x74, 0x73, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42,
|
||||
0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x44, 0x72,
|
||||
0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||
0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a,
|
||||
0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07,
|
||||
0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x74,
|
||||
0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x79, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c,
|
||||
0x74, 0x73, 0x22, 0x9e, 0x07, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75,
|
||||
0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74,
|
||||
0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x4a,
|
||||
0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x32,
|
||||
0xd8, 0x07, 0x0a, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x50, 0x0a,
|
||||
0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x1b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
||||
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12,
|
||||
0x5a, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x24, 0x2e, 0x6d,
|
||||
0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f,
|
||||
0x0a, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12,
|
||||
0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18,
|
||||
0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74,
|
||||
0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e,
|
||||
0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x07,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3f, 0x0a,
|
||||
0x0b, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x69, 0x6e, 0x6c,
|
||||
0x6f, 0x67, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x3d,
|
||||
0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x69, 0x6e, 0x6c,
|
||||
0x6f, 0x67, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x5a, 0x0a,
|
||||
0x0f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x73,
|
||||
0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x53, 0x74, 0x61, 0x74,
|
||||
0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x53, 0x74, 0x61, 0x74,
|
||||
0x73, 0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x74, 0x65, 0x78, 0x74,
|
||||
0x53, 0x74, 0x61, 0x74, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d,
|
||||
0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6e, 0x75, 0x6d,
|
||||
0x52, 0x6f, 0x77, 0x73, 0x12, 0x3b, 0x0a, 0x09, 0x62, 0x6d, 0x32, 0x35, 0x5f, 0x6c, 0x6f, 0x67,
|
||||
0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c,
|
||||
0x64, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x52, 0x08, 0x62, 0x6d, 0x32, 0x35, 0x4c, 0x6f, 0x67,
|
||||
0x73, 0x12, 0x64, 0x0a, 0x13, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74,
|
||||
0x61, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35,
|
||||
0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e,
|
||||
0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4c, 0x6f, 0x67, 0x73,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66,
|
||||
0x65, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66,
|
||||
0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69,
|
||||
0x66, 0x65, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65,
|
||||
0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x1a, 0x63, 0x0a, 0x12, 0x54, 0x65, 0x78, 0x74,
|
||||
0x53, 0x74, 0x61, 0x74, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
|
||||
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79,
|
||||
0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x21, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x64,
|
||||
0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61,
|
||||
0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a,
|
||||
0x15, 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4c, 0x6f, 0x67,
|
||||
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4a, 0x73, 0x6f, 0x6e,
|
||||
0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
|
||||
0x02, 0x38, 0x01, 0x22, 0x49, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75,
|
||||
0x6c, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
|
||||
0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xeb,
|
||||
0x02, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x56, 0x32, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61,
|
||||
0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63,
|
||||
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
|
||||
0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x12, 0x51, 0x0a, 0x11, 0x69, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4a,
|
||||
0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x13,
|
||||
0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x75,
|
||||
0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x41,
|
||||
0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52,
|
||||
0x11, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c,
|
||||
0x74, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6a, 0x6f, 0x62, 0x5f,
|
||||
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
|
||||
0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48,
|
||||
0x00, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c,
|
||||
0x74, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x83, 0x01, 0x0a,
|
||||
0x11, 0x44, 0x72, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44,
|
||||
0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
|
||||
0x03, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x6a, 0x6f,
|
||||
0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62,
|
||||
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x08, 0x44,
|
||||
0x72, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x44, 0x72, 0x6f,
|
||||
0x70, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
|
||||
0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0b, 0x47,
|
||||
0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x54, 0x79,
|
||||
0x70, 0x65, 0x32, 0xd8, 0x07, 0x0a, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4e, 0x6f, 0x64, 0x65,
|
||||
0x12, 0x50, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x2e,
|
||||
0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
|
||||
0x22, 0x00, 0x12, 0x5a, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x12,
|
||||
0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
|
||||
0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e,
|
||||
0x0a, 0x08, 0x44, 0x72, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e,
|
||||
0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a,
|
||||
0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x56, 0x32, 0x12, 0x26, 0x2e, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x56, 0x32, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
|
||||
0x73, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73,
|
||||
0x56, 0x32, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62,
|
||||
0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e,
|
||||
0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, 0x4a, 0x6f, 0x62,
|
||||
0x73, 0x56, 0x32, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4a, 0x6f, 0x62,
|
||||
0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
|
||||
0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0a, 0x47, 0x65, 0x74,
|
||||
0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x47, 0x65,
|
||||
0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d,
|
||||
0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0a, 0x43, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x43, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x44, 0x72, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x1b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63,
|
||||
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x5a,
|
||||
0x0a, 0x09, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x24, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x08, 0x44, 0x72,
|
||||
0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e,
|
||||
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x60,
|
||||
0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x26, 0x2e,
|
||||
0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f,
|
||||
0x62, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
|
||||
0x12, 0x54, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x56, 0x32, 0x12,
|
||||
0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x56, 0x32,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74,
|
||||
0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4a,
|
||||
0x6f, 0x62, 0x73, 0x56, 0x32, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
|
||||
0x4a, 0x6f, 0x62, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e,
|
||||
0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64,
|
||||
0x65, 0x78, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x56, 0x32, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70,
|
||||
0x4a, 0x6f, 0x62, 0x73, 0x56, 0x32, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x44, 0x72, 0x6f, 0x70,
|
||||
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
|
||||
0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69,
|
||||
0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2d,
|
||||
0x69, 0x6f, 0x2f, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x76, 0x33,
|
||||
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x70, 0x62, 0x62,
|
||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x4a, 0x6f, 0x62, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e,
|
||||
0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d,
|
||||
0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0a,
|
||||
0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6c,
|
||||
0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73,
|
||||
0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72,
|
||||
0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a,
|
||||
0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x25, 0x2e, 0x6d, 0x69,
|
||||
0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22,
|
||||
0x00, 0x12, 0x5a, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x24,
|
||||
0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54,
|
||||
0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a,
|
||||
0x08, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x44,
|
||||
0x72, 0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b,
|
||||
0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f,
|
||||
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x42, 0x33, 0x5a,
|
||||
0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x6c, 0x76,
|
||||
0x75, 0x73, 0x2d, 0x69, 0x6f, 0x2f, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2f, 0x70, 0x6b, 0x67,
|
||||
0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
|
||||
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -2871,7 +2899,7 @@ func file_worker_proto_rawDescGZIP() []byte {
|
||||
return file_worker_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_worker_proto_msgTypes = make([]protoimpl.MessageInfo, 29)
|
||||
var file_worker_proto_msgTypes = make([]protoimpl.MessageInfo, 30)
|
||||
var file_worker_proto_goTypes = []interface{}{
|
||||
(*CreateTaskRequest)(nil), // 0: milvus.proto.index.CreateTaskRequest
|
||||
(*QueryTaskRequest)(nil), // 1: milvus.proto.index.QueryTaskRequest
|
||||
@@ -2900,112 +2928,114 @@ var file_worker_proto_goTypes = []interface{}{
|
||||
nil, // 24: milvus.proto.index.QueryTaskResponse.PropertiesEntry
|
||||
nil, // 25: milvus.proto.index.DropTaskRequest.PropertiesEntry
|
||||
nil, // 26: milvus.proto.index.AnalyzeRequest.SegmentStatsEntry
|
||||
nil, // 27: milvus.proto.index.StatsResult.TextStatsLogsEntry
|
||||
nil, // 28: milvus.proto.index.StatsResult.JsonKeyStatsLogsEntry
|
||||
(*commonpb.Status)(nil), // 29: milvus.proto.common.Status
|
||||
(*indexpb.StorageConfig)(nil), // 30: milvus.proto.index.StorageConfig
|
||||
(*commonpb.KeyValuePair)(nil), // 31: milvus.proto.common.KeyValuePair
|
||||
(schemapb.DataType)(0), // 32: milvus.proto.schema.DataType
|
||||
(*indexpb.OptionalFieldInfo)(nil), // 33: milvus.proto.index.OptionalFieldInfo
|
||||
(*schemapb.FieldSchema)(nil), // 34: milvus.proto.schema.FieldSchema
|
||||
(*datapb.FieldBinlog)(nil), // 35: milvus.proto.data.FieldBinlog
|
||||
(indexpb.IndexStorePathVersion)(0), // 36: milvus.proto.index.IndexStorePathVersion
|
||||
(*indexpb.JobInfo)(nil), // 37: milvus.proto.index.JobInfo
|
||||
(*schemapb.CollectionSchema)(nil), // 38: milvus.proto.schema.CollectionSchema
|
||||
(indexpb.StatsSubJob)(0), // 39: milvus.proto.index.StatsSubJob
|
||||
(*internalpb.FileResourceInfo)(nil), // 40: milvus.proto.internal.FileResourceInfo
|
||||
(indexpb.JobType)(0), // 41: milvus.proto.index.JobType
|
||||
(commonpb.IndexState)(0), // 42: milvus.proto.common.IndexState
|
||||
(indexpb.JobState)(0), // 43: milvus.proto.index.JobState
|
||||
(*indexpb.SegmentStats)(nil), // 44: milvus.proto.index.SegmentStats
|
||||
(*datapb.TextIndexStats)(nil), // 45: milvus.proto.data.TextIndexStats
|
||||
(*datapb.JsonKeyStats)(nil), // 46: milvus.proto.data.JsonKeyStats
|
||||
(*milvuspb.GetMetricsRequest)(nil), // 47: milvus.proto.milvus.GetMetricsRequest
|
||||
(*milvuspb.GetMetricsResponse)(nil), // 48: milvus.proto.milvus.GetMetricsResponse
|
||||
nil, // 27: milvus.proto.index.AnalyzeRequest.ClusterParamsEntry
|
||||
nil, // 28: milvus.proto.index.StatsResult.TextStatsLogsEntry
|
||||
nil, // 29: milvus.proto.index.StatsResult.JsonKeyStatsLogsEntry
|
||||
(*commonpb.Status)(nil), // 30: milvus.proto.common.Status
|
||||
(*indexpb.StorageConfig)(nil), // 31: milvus.proto.index.StorageConfig
|
||||
(*commonpb.KeyValuePair)(nil), // 32: milvus.proto.common.KeyValuePair
|
||||
(schemapb.DataType)(0), // 33: milvus.proto.schema.DataType
|
||||
(*indexpb.OptionalFieldInfo)(nil), // 34: milvus.proto.index.OptionalFieldInfo
|
||||
(*schemapb.FieldSchema)(nil), // 35: milvus.proto.schema.FieldSchema
|
||||
(*datapb.FieldBinlog)(nil), // 36: milvus.proto.data.FieldBinlog
|
||||
(indexpb.IndexStorePathVersion)(0), // 37: milvus.proto.index.IndexStorePathVersion
|
||||
(*indexpb.JobInfo)(nil), // 38: milvus.proto.index.JobInfo
|
||||
(*schemapb.CollectionSchema)(nil), // 39: milvus.proto.schema.CollectionSchema
|
||||
(indexpb.StatsSubJob)(0), // 40: milvus.proto.index.StatsSubJob
|
||||
(*internalpb.FileResourceInfo)(nil), // 41: milvus.proto.internal.FileResourceInfo
|
||||
(indexpb.JobType)(0), // 42: milvus.proto.index.JobType
|
||||
(commonpb.IndexState)(0), // 43: milvus.proto.common.IndexState
|
||||
(indexpb.JobState)(0), // 44: milvus.proto.index.JobState
|
||||
(*indexpb.SegmentStats)(nil), // 45: milvus.proto.index.SegmentStats
|
||||
(*datapb.TextIndexStats)(nil), // 46: milvus.proto.data.TextIndexStats
|
||||
(*datapb.JsonKeyStats)(nil), // 47: milvus.proto.data.JsonKeyStats
|
||||
(*milvuspb.GetMetricsRequest)(nil), // 48: milvus.proto.milvus.GetMetricsRequest
|
||||
(*milvuspb.GetMetricsResponse)(nil), // 49: milvus.proto.milvus.GetMetricsResponse
|
||||
}
|
||||
var file_worker_proto_depIdxs = []int32{
|
||||
22, // 0: milvus.proto.index.CreateTaskRequest.properties:type_name -> milvus.proto.index.CreateTaskRequest.PropertiesEntry
|
||||
23, // 1: milvus.proto.index.QueryTaskRequest.properties:type_name -> milvus.proto.index.QueryTaskRequest.PropertiesEntry
|
||||
29, // 2: milvus.proto.index.QueryTaskResponse.status:type_name -> milvus.proto.common.Status
|
||||
30, // 2: milvus.proto.index.QueryTaskResponse.status:type_name -> milvus.proto.common.Status
|
||||
24, // 3: milvus.proto.index.QueryTaskResponse.properties:type_name -> milvus.proto.index.QueryTaskResponse.PropertiesEntry
|
||||
25, // 4: milvus.proto.index.DropTaskRequest.properties:type_name -> milvus.proto.index.DropTaskRequest.PropertiesEntry
|
||||
30, // 5: milvus.proto.index.CreateJobRequest.storage_config:type_name -> milvus.proto.index.StorageConfig
|
||||
31, // 6: milvus.proto.index.CreateJobRequest.index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
31, // 7: milvus.proto.index.CreateJobRequest.type_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
32, // 8: milvus.proto.index.CreateJobRequest.field_type:type_name -> milvus.proto.schema.DataType
|
||||
33, // 9: milvus.proto.index.CreateJobRequest.optional_scalar_fields:type_name -> milvus.proto.index.OptionalFieldInfo
|
||||
34, // 10: milvus.proto.index.CreateJobRequest.field:type_name -> milvus.proto.schema.FieldSchema
|
||||
35, // 11: milvus.proto.index.CreateJobRequest.insert_logs:type_name -> milvus.proto.data.FieldBinlog
|
||||
31, // 12: milvus.proto.index.CreateJobRequest.plugin_context:type_name -> milvus.proto.common.KeyValuePair
|
||||
36, // 13: milvus.proto.index.CreateJobRequest.index_store_path_version:type_name -> milvus.proto.index.IndexStorePathVersion
|
||||
29, // 14: milvus.proto.index.QueryJobsResponse.status:type_name -> milvus.proto.common.Status
|
||||
31, // 5: milvus.proto.index.CreateJobRequest.storage_config:type_name -> milvus.proto.index.StorageConfig
|
||||
32, // 6: milvus.proto.index.CreateJobRequest.index_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
32, // 7: milvus.proto.index.CreateJobRequest.type_params:type_name -> milvus.proto.common.KeyValuePair
|
||||
33, // 8: milvus.proto.index.CreateJobRequest.field_type:type_name -> milvus.proto.schema.DataType
|
||||
34, // 9: milvus.proto.index.CreateJobRequest.optional_scalar_fields:type_name -> milvus.proto.index.OptionalFieldInfo
|
||||
35, // 10: milvus.proto.index.CreateJobRequest.field:type_name -> milvus.proto.schema.FieldSchema
|
||||
36, // 11: milvus.proto.index.CreateJobRequest.insert_logs:type_name -> milvus.proto.data.FieldBinlog
|
||||
32, // 12: milvus.proto.index.CreateJobRequest.plugin_context:type_name -> milvus.proto.common.KeyValuePair
|
||||
37, // 13: milvus.proto.index.CreateJobRequest.index_store_path_version:type_name -> milvus.proto.index.IndexStorePathVersion
|
||||
30, // 14: milvus.proto.index.QueryJobsResponse.status:type_name -> milvus.proto.common.Status
|
||||
14, // 15: milvus.proto.index.QueryJobsResponse.index_infos:type_name -> milvus.proto.index.IndexTaskInfo
|
||||
29, // 16: milvus.proto.index.GetJobStatsResponse.status:type_name -> milvus.proto.common.Status
|
||||
37, // 17: milvus.proto.index.GetJobStatsResponse.job_infos:type_name -> milvus.proto.index.JobInfo
|
||||
32, // 18: milvus.proto.index.AnalyzeRequest.field_type:type_name -> milvus.proto.schema.DataType
|
||||
30, // 16: milvus.proto.index.GetJobStatsResponse.status:type_name -> milvus.proto.common.Status
|
||||
38, // 17: milvus.proto.index.GetJobStatsResponse.job_infos:type_name -> milvus.proto.index.JobInfo
|
||||
33, // 18: milvus.proto.index.AnalyzeRequest.field_type:type_name -> milvus.proto.schema.DataType
|
||||
26, // 19: milvus.proto.index.AnalyzeRequest.segment_stats:type_name -> milvus.proto.index.AnalyzeRequest.SegmentStatsEntry
|
||||
30, // 20: milvus.proto.index.AnalyzeRequest.storage_config:type_name -> milvus.proto.index.StorageConfig
|
||||
34, // 21: milvus.proto.index.AnalyzeRequest.field:type_name -> milvus.proto.schema.FieldSchema
|
||||
31, // 22: milvus.proto.index.AnalyzeRequest.plugin_context:type_name -> milvus.proto.common.KeyValuePair
|
||||
35, // 23: milvus.proto.index.CreateStatsRequest.insert_logs:type_name -> milvus.proto.data.FieldBinlog
|
||||
35, // 24: milvus.proto.index.CreateStatsRequest.delta_logs:type_name -> milvus.proto.data.FieldBinlog
|
||||
30, // 25: milvus.proto.index.CreateStatsRequest.storage_config:type_name -> milvus.proto.index.StorageConfig
|
||||
38, // 26: milvus.proto.index.CreateStatsRequest.schema:type_name -> milvus.proto.schema.CollectionSchema
|
||||
39, // 27: milvus.proto.index.CreateStatsRequest.subJobType:type_name -> milvus.proto.index.StatsSubJob
|
||||
31, // 28: milvus.proto.index.CreateStatsRequest.plugin_context:type_name -> milvus.proto.common.KeyValuePair
|
||||
40, // 29: milvus.proto.index.CreateStatsRequest.file_resources:type_name -> milvus.proto.internal.FileResourceInfo
|
||||
41, // 30: milvus.proto.index.CreateJobV2Request.job_type:type_name -> milvus.proto.index.JobType
|
||||
10, // 31: milvus.proto.index.CreateJobV2Request.analyze_request:type_name -> milvus.proto.index.AnalyzeRequest
|
||||
4, // 32: milvus.proto.index.CreateJobV2Request.index_request:type_name -> milvus.proto.index.CreateJobRequest
|
||||
11, // 33: milvus.proto.index.CreateJobV2Request.stats_request:type_name -> milvus.proto.index.CreateStatsRequest
|
||||
41, // 34: milvus.proto.index.QueryJobsV2Request.job_type:type_name -> milvus.proto.index.JobType
|
||||
42, // 35: milvus.proto.index.IndexTaskInfo.state:type_name -> milvus.proto.common.IndexState
|
||||
36, // 36: milvus.proto.index.IndexTaskInfo.index_store_path_version:type_name -> milvus.proto.index.IndexStorePathVersion
|
||||
14, // 37: milvus.proto.index.IndexJobResults.results:type_name -> milvus.proto.index.IndexTaskInfo
|
||||
43, // 38: milvus.proto.index.AnalyzeResult.state:type_name -> milvus.proto.index.JobState
|
||||
16, // 39: milvus.proto.index.AnalyzeResults.results:type_name -> milvus.proto.index.AnalyzeResult
|
||||
43, // 40: milvus.proto.index.StatsResult.state:type_name -> milvus.proto.index.JobState
|
||||
35, // 41: milvus.proto.index.StatsResult.insert_logs:type_name -> milvus.proto.data.FieldBinlog
|
||||
35, // 42: milvus.proto.index.StatsResult.stats_logs:type_name -> milvus.proto.data.FieldBinlog
|
||||
27, // 43: milvus.proto.index.StatsResult.text_stats_logs:type_name -> milvus.proto.index.StatsResult.TextStatsLogsEntry
|
||||
35, // 44: milvus.proto.index.StatsResult.bm25_logs:type_name -> milvus.proto.data.FieldBinlog
|
||||
28, // 45: milvus.proto.index.StatsResult.json_key_stats_logs:type_name -> milvus.proto.index.StatsResult.JsonKeyStatsLogsEntry
|
||||
18, // 46: milvus.proto.index.StatsResults.results:type_name -> milvus.proto.index.StatsResult
|
||||
29, // 47: milvus.proto.index.QueryJobsV2Response.status:type_name -> milvus.proto.common.Status
|
||||
15, // 48: milvus.proto.index.QueryJobsV2Response.index_job_results:type_name -> milvus.proto.index.IndexJobResults
|
||||
17, // 49: milvus.proto.index.QueryJobsV2Response.analyze_job_results:type_name -> milvus.proto.index.AnalyzeResults
|
||||
19, // 50: milvus.proto.index.QueryJobsV2Response.stats_job_results:type_name -> milvus.proto.index.StatsResults
|
||||
41, // 51: milvus.proto.index.DropJobsV2Request.job_type:type_name -> milvus.proto.index.JobType
|
||||
44, // 52: milvus.proto.index.AnalyzeRequest.SegmentStatsEntry.value:type_name -> milvus.proto.index.SegmentStats
|
||||
45, // 53: milvus.proto.index.StatsResult.TextStatsLogsEntry.value:type_name -> milvus.proto.data.TextIndexStats
|
||||
46, // 54: milvus.proto.index.StatsResult.JsonKeyStatsLogsEntry.value:type_name -> milvus.proto.data.JsonKeyStats
|
||||
4, // 55: milvus.proto.index.IndexNode.CreateJob:input_type -> milvus.proto.index.CreateJobRequest
|
||||
5, // 56: milvus.proto.index.IndexNode.QueryJobs:input_type -> milvus.proto.index.QueryJobsRequest
|
||||
7, // 57: milvus.proto.index.IndexNode.DropJobs:input_type -> milvus.proto.index.DropJobsRequest
|
||||
8, // 58: milvus.proto.index.IndexNode.GetJobStats:input_type -> milvus.proto.index.GetJobStatsRequest
|
||||
12, // 59: milvus.proto.index.IndexNode.CreateJobV2:input_type -> milvus.proto.index.CreateJobV2Request
|
||||
13, // 60: milvus.proto.index.IndexNode.QueryJobsV2:input_type -> milvus.proto.index.QueryJobsV2Request
|
||||
21, // 61: milvus.proto.index.IndexNode.DropJobsV2:input_type -> milvus.proto.index.DropJobsV2Request
|
||||
47, // 62: milvus.proto.index.IndexNode.GetMetrics:input_type -> milvus.proto.milvus.GetMetricsRequest
|
||||
0, // 63: milvus.proto.index.IndexNode.CreateTask:input_type -> milvus.proto.index.CreateTaskRequest
|
||||
1, // 64: milvus.proto.index.IndexNode.QueryTask:input_type -> milvus.proto.index.QueryTaskRequest
|
||||
3, // 65: milvus.proto.index.IndexNode.DropTask:input_type -> milvus.proto.index.DropTaskRequest
|
||||
29, // 66: milvus.proto.index.IndexNode.CreateJob:output_type -> milvus.proto.common.Status
|
||||
6, // 67: milvus.proto.index.IndexNode.QueryJobs:output_type -> milvus.proto.index.QueryJobsResponse
|
||||
29, // 68: milvus.proto.index.IndexNode.DropJobs:output_type -> milvus.proto.common.Status
|
||||
9, // 69: milvus.proto.index.IndexNode.GetJobStats:output_type -> milvus.proto.index.GetJobStatsResponse
|
||||
29, // 70: milvus.proto.index.IndexNode.CreateJobV2:output_type -> milvus.proto.common.Status
|
||||
20, // 71: milvus.proto.index.IndexNode.QueryJobsV2:output_type -> milvus.proto.index.QueryJobsV2Response
|
||||
29, // 72: milvus.proto.index.IndexNode.DropJobsV2:output_type -> milvus.proto.common.Status
|
||||
48, // 73: milvus.proto.index.IndexNode.GetMetrics:output_type -> milvus.proto.milvus.GetMetricsResponse
|
||||
29, // 74: milvus.proto.index.IndexNode.CreateTask:output_type -> milvus.proto.common.Status
|
||||
2, // 75: milvus.proto.index.IndexNode.QueryTask:output_type -> milvus.proto.index.QueryTaskResponse
|
||||
29, // 76: milvus.proto.index.IndexNode.DropTask:output_type -> milvus.proto.common.Status
|
||||
66, // [66:77] is the sub-list for method output_type
|
||||
55, // [55:66] is the sub-list for method input_type
|
||||
55, // [55:55] is the sub-list for extension type_name
|
||||
55, // [55:55] is the sub-list for extension extendee
|
||||
0, // [0:55] is the sub-list for field type_name
|
||||
31, // 20: milvus.proto.index.AnalyzeRequest.storage_config:type_name -> milvus.proto.index.StorageConfig
|
||||
35, // 21: milvus.proto.index.AnalyzeRequest.field:type_name -> milvus.proto.schema.FieldSchema
|
||||
32, // 22: milvus.proto.index.AnalyzeRequest.plugin_context:type_name -> milvus.proto.common.KeyValuePair
|
||||
27, // 23: milvus.proto.index.AnalyzeRequest.cluster_params:type_name -> milvus.proto.index.AnalyzeRequest.ClusterParamsEntry
|
||||
36, // 24: milvus.proto.index.CreateStatsRequest.insert_logs:type_name -> milvus.proto.data.FieldBinlog
|
||||
36, // 25: milvus.proto.index.CreateStatsRequest.delta_logs:type_name -> milvus.proto.data.FieldBinlog
|
||||
31, // 26: milvus.proto.index.CreateStatsRequest.storage_config:type_name -> milvus.proto.index.StorageConfig
|
||||
39, // 27: milvus.proto.index.CreateStatsRequest.schema:type_name -> milvus.proto.schema.CollectionSchema
|
||||
40, // 28: milvus.proto.index.CreateStatsRequest.subJobType:type_name -> milvus.proto.index.StatsSubJob
|
||||
32, // 29: milvus.proto.index.CreateStatsRequest.plugin_context:type_name -> milvus.proto.common.KeyValuePair
|
||||
41, // 30: milvus.proto.index.CreateStatsRequest.file_resources:type_name -> milvus.proto.internal.FileResourceInfo
|
||||
42, // 31: milvus.proto.index.CreateJobV2Request.job_type:type_name -> milvus.proto.index.JobType
|
||||
10, // 32: milvus.proto.index.CreateJobV2Request.analyze_request:type_name -> milvus.proto.index.AnalyzeRequest
|
||||
4, // 33: milvus.proto.index.CreateJobV2Request.index_request:type_name -> milvus.proto.index.CreateJobRequest
|
||||
11, // 34: milvus.proto.index.CreateJobV2Request.stats_request:type_name -> milvus.proto.index.CreateStatsRequest
|
||||
42, // 35: milvus.proto.index.QueryJobsV2Request.job_type:type_name -> milvus.proto.index.JobType
|
||||
43, // 36: milvus.proto.index.IndexTaskInfo.state:type_name -> milvus.proto.common.IndexState
|
||||
37, // 37: milvus.proto.index.IndexTaskInfo.index_store_path_version:type_name -> milvus.proto.index.IndexStorePathVersion
|
||||
14, // 38: milvus.proto.index.IndexJobResults.results:type_name -> milvus.proto.index.IndexTaskInfo
|
||||
44, // 39: milvus.proto.index.AnalyzeResult.state:type_name -> milvus.proto.index.JobState
|
||||
16, // 40: milvus.proto.index.AnalyzeResults.results:type_name -> milvus.proto.index.AnalyzeResult
|
||||
44, // 41: milvus.proto.index.StatsResult.state:type_name -> milvus.proto.index.JobState
|
||||
36, // 42: milvus.proto.index.StatsResult.insert_logs:type_name -> milvus.proto.data.FieldBinlog
|
||||
36, // 43: milvus.proto.index.StatsResult.stats_logs:type_name -> milvus.proto.data.FieldBinlog
|
||||
28, // 44: milvus.proto.index.StatsResult.text_stats_logs:type_name -> milvus.proto.index.StatsResult.TextStatsLogsEntry
|
||||
36, // 45: milvus.proto.index.StatsResult.bm25_logs:type_name -> milvus.proto.data.FieldBinlog
|
||||
29, // 46: milvus.proto.index.StatsResult.json_key_stats_logs:type_name -> milvus.proto.index.StatsResult.JsonKeyStatsLogsEntry
|
||||
18, // 47: milvus.proto.index.StatsResults.results:type_name -> milvus.proto.index.StatsResult
|
||||
30, // 48: milvus.proto.index.QueryJobsV2Response.status:type_name -> milvus.proto.common.Status
|
||||
15, // 49: milvus.proto.index.QueryJobsV2Response.index_job_results:type_name -> milvus.proto.index.IndexJobResults
|
||||
17, // 50: milvus.proto.index.QueryJobsV2Response.analyze_job_results:type_name -> milvus.proto.index.AnalyzeResults
|
||||
19, // 51: milvus.proto.index.QueryJobsV2Response.stats_job_results:type_name -> milvus.proto.index.StatsResults
|
||||
42, // 52: milvus.proto.index.DropJobsV2Request.job_type:type_name -> milvus.proto.index.JobType
|
||||
45, // 53: milvus.proto.index.AnalyzeRequest.SegmentStatsEntry.value:type_name -> milvus.proto.index.SegmentStats
|
||||
46, // 54: milvus.proto.index.StatsResult.TextStatsLogsEntry.value:type_name -> milvus.proto.data.TextIndexStats
|
||||
47, // 55: milvus.proto.index.StatsResult.JsonKeyStatsLogsEntry.value:type_name -> milvus.proto.data.JsonKeyStats
|
||||
4, // 56: milvus.proto.index.IndexNode.CreateJob:input_type -> milvus.proto.index.CreateJobRequest
|
||||
5, // 57: milvus.proto.index.IndexNode.QueryJobs:input_type -> milvus.proto.index.QueryJobsRequest
|
||||
7, // 58: milvus.proto.index.IndexNode.DropJobs:input_type -> milvus.proto.index.DropJobsRequest
|
||||
8, // 59: milvus.proto.index.IndexNode.GetJobStats:input_type -> milvus.proto.index.GetJobStatsRequest
|
||||
12, // 60: milvus.proto.index.IndexNode.CreateJobV2:input_type -> milvus.proto.index.CreateJobV2Request
|
||||
13, // 61: milvus.proto.index.IndexNode.QueryJobsV2:input_type -> milvus.proto.index.QueryJobsV2Request
|
||||
21, // 62: milvus.proto.index.IndexNode.DropJobsV2:input_type -> milvus.proto.index.DropJobsV2Request
|
||||
48, // 63: milvus.proto.index.IndexNode.GetMetrics:input_type -> milvus.proto.milvus.GetMetricsRequest
|
||||
0, // 64: milvus.proto.index.IndexNode.CreateTask:input_type -> milvus.proto.index.CreateTaskRequest
|
||||
1, // 65: milvus.proto.index.IndexNode.QueryTask:input_type -> milvus.proto.index.QueryTaskRequest
|
||||
3, // 66: milvus.proto.index.IndexNode.DropTask:input_type -> milvus.proto.index.DropTaskRequest
|
||||
30, // 67: milvus.proto.index.IndexNode.CreateJob:output_type -> milvus.proto.common.Status
|
||||
6, // 68: milvus.proto.index.IndexNode.QueryJobs:output_type -> milvus.proto.index.QueryJobsResponse
|
||||
30, // 69: milvus.proto.index.IndexNode.DropJobs:output_type -> milvus.proto.common.Status
|
||||
9, // 70: milvus.proto.index.IndexNode.GetJobStats:output_type -> milvus.proto.index.GetJobStatsResponse
|
||||
30, // 71: milvus.proto.index.IndexNode.CreateJobV2:output_type -> milvus.proto.common.Status
|
||||
20, // 72: milvus.proto.index.IndexNode.QueryJobsV2:output_type -> milvus.proto.index.QueryJobsV2Response
|
||||
30, // 73: milvus.proto.index.IndexNode.DropJobsV2:output_type -> milvus.proto.common.Status
|
||||
49, // 74: milvus.proto.index.IndexNode.GetMetrics:output_type -> milvus.proto.milvus.GetMetricsResponse
|
||||
30, // 75: milvus.proto.index.IndexNode.CreateTask:output_type -> milvus.proto.common.Status
|
||||
2, // 76: milvus.proto.index.IndexNode.QueryTask:output_type -> milvus.proto.index.QueryTaskResponse
|
||||
30, // 77: milvus.proto.index.IndexNode.DropTask:output_type -> milvus.proto.common.Status
|
||||
67, // [67:78] is the sub-list for method output_type
|
||||
56, // [56:67] is the sub-list for method input_type
|
||||
56, // [56:56] is the sub-list for extension type_name
|
||||
56, // [56:56] is the sub-list for extension extendee
|
||||
0, // [0:56] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_worker_proto_init() }
|
||||
@@ -3295,7 +3325,7 @@ func file_worker_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_worker_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 29,
|
||||
NumMessages: 30,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
// Licensed to the LF AI & Data foundation under one
|
||||
// or more contributor license agreements. See the NOTICE file
|
||||
// distributed with this work for additional information
|
||||
// regarding copyright ownership. The ASF licenses this file
|
||||
// to you under the Apache License, Version 2.0 (the
|
||||
// "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package paramtable
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestClusteringParamDefaults(t *testing.T) {
|
||||
base := NewBaseTable(Files([]string{}), SkipRemote(true), SkipEnv(true))
|
||||
defer base.mgr.Close()
|
||||
var params ComponentParam
|
||||
params.Init(base)
|
||||
cfg := ¶ms.DataCoordCfg
|
||||
require.Equal(t, int64(8*1024*1024), cfg.ClusteringCompactionChunkSizePerCentroid.GetAsSize())
|
||||
// Preserve the existing memory-based training budget and centroid cap.
|
||||
require.Equal(t, 0.8, cfg.ClusteringCompactionMaxTrainSizeRatio.GetAsFloat())
|
||||
require.Equal(t, 10240, cfg.ClusteringCompactionMaxCentroidsNum.GetAsInt())
|
||||
require.Equal(t, "KMEANS", params.KnowhereConfig.ClusterType.GetValue())
|
||||
}
|
||||
|
||||
func TestClusteringParamNamespaces(t *testing.T) {
|
||||
base := NewBaseTable(Files([]string{}), SkipRemote(true), SkipEnv(true))
|
||||
defer base.mgr.Close()
|
||||
cfg := &knowhereConfig{}
|
||||
cfg.init(base)
|
||||
for key, value := range map[string]string{
|
||||
"knowhere.cluster.analyze.num_threads": "8",
|
||||
"knowhere.cluster.analyze.metric_type": "L2",
|
||||
"knowhere.cluster.compactionPlan.planner": "ivf",
|
||||
"knowhere.cluster.compactionPlan.efConstruction": "64",
|
||||
"knowhere.IVF_FLAT.build.nlist": "128",
|
||||
} {
|
||||
require.NoError(t, base.Save(key, value))
|
||||
}
|
||||
analyze := cfg.GetAnalyzeParams()
|
||||
plan := cfg.GetCompactionPlanParams()
|
||||
require.Equal(t, map[string]string{"num_threads": "8", "metric_type": "L2"}, analyze)
|
||||
require.Equal(t, map[string]string{"planner": "ivf", "efConstruction": "64"}, plan)
|
||||
require.Equal(t, map[string]string{"nlist": "128"}, cfg.getIndexParam("IVF_FLAT", BuildStage))
|
||||
|
||||
// A task can freeze these copies without later configuration changes
|
||||
// mutating the parameters used by a retried build.
|
||||
require.NoError(t, base.Save("knowhere.cluster.analyze.num_threads", "16"))
|
||||
require.Equal(t, "8", analyze["num_threads"])
|
||||
require.Equal(t, "16", cfg.GetAnalyzeParams()["num_threads"])
|
||||
plan["planner"] = "changed"
|
||||
require.Equal(t, "ivf", cfg.GetCompactionPlanParams()["planner"])
|
||||
require.NoError(t, base.Remove("knowhere.cluster.compactionPlan.efConstruction"))
|
||||
require.NotContains(t, cfg.GetCompactionPlanParams(), "efConstruction")
|
||||
}
|
||||
@@ -6441,6 +6441,7 @@ type dataCoordConfig struct {
|
||||
ClusteringCompactionMinClusterSizeRatio ParamItem `refreshable:"true"`
|
||||
ClusteringCompactionMaxClusterSizeRatio ParamItem `refreshable:"true"`
|
||||
ClusteringCompactionMaxClusterSize ParamItem `refreshable:"true"`
|
||||
ClusteringCompactionChunkSizePerCentroid ParamItem `refreshable:"true"`
|
||||
|
||||
// LevelZero Segment
|
||||
LevelZeroCompactionTriggerMinSize ParamItem `refreshable:"true"`
|
||||
@@ -7332,7 +7333,7 @@ Startup processes fixed-size batches and retries failed reads per segment. An ex
|
||||
Key: "dataCoord.compaction.clustering.maxTrainSizeRatio",
|
||||
Version: "2.4.7",
|
||||
DefaultValue: "0.8",
|
||||
Doc: "max data size ratio in Kmeans train, if larger than it, will down sampling to meet this limit",
|
||||
Doc: "Fraction of worker memory used to budget KMeans training data; sample when the input exceeds this budget",
|
||||
Export: true,
|
||||
}
|
||||
p.ClusteringCompactionMaxTrainSizeRatio.Init(base.mgr)
|
||||
@@ -7382,6 +7383,15 @@ Startup processes fixed-size batches and retries failed reads per segment. An ex
|
||||
}
|
||||
p.ClusteringCompactionMaxClusterSize.Init(base.mgr)
|
||||
|
||||
p.ClusteringCompactionChunkSizePerCentroid = ParamItem{
|
||||
Key: "dataCoord.compaction.clustering.chunkSizePerCentroid",
|
||||
Version: "3.1.0",
|
||||
DefaultValue: "8MB",
|
||||
Doc: "Target raw vector bytes per centroid; must be positive and is independent of segment size",
|
||||
Export: true,
|
||||
}
|
||||
p.ClusteringCompactionChunkSizePerCentroid.Init(base.mgr)
|
||||
|
||||
p.EnableGarbageCollection = ParamItem{
|
||||
Key: "dataCoord.enableGarbageCollection",
|
||||
Version: "2.0.0",
|
||||
|
||||
@@ -14,8 +14,11 @@ import (
|
||||
)
|
||||
|
||||
type knowhereConfig struct {
|
||||
Enable ParamItem `refreshable:"true"`
|
||||
IndexParam ParamGroup `refreshable:"true"`
|
||||
Enable ParamItem `refreshable:"true"`
|
||||
IndexParam ParamGroup `refreshable:"true"`
|
||||
ClusterType ParamItem `refreshable:"true"`
|
||||
AnalyzeParam ParamGroup `refreshable:"true"`
|
||||
CompactionPlanParam ParamGroup `refreshable:"true"`
|
||||
}
|
||||
|
||||
const (
|
||||
@@ -71,6 +74,39 @@ func (p *knowhereConfig) init(base *BaseTable) {
|
||||
Doc: "When enable this configuration, the index parameters defined following will be automatically populated as index parameters, without requiring user input.",
|
||||
}
|
||||
p.Enable.Init(base.mgr)
|
||||
|
||||
p.ClusterType = ParamItem{
|
||||
Key: "knowhere.cluster.type",
|
||||
Version: "3.1.0",
|
||||
DefaultValue: "KMEANS",
|
||||
Export: true,
|
||||
Doc: "clustering implementation registered in Knowhere",
|
||||
}
|
||||
p.ClusterType.Init(base.mgr)
|
||||
|
||||
p.AnalyzeParam = ParamGroup{
|
||||
KeyPrefix: "knowhere.cluster.analyze.",
|
||||
Version: "3.1.0",
|
||||
Export: true,
|
||||
Doc: "parameters passed through to the Knowhere clustering analyze implementation",
|
||||
}
|
||||
p.AnalyzeParam.Init(base.mgr)
|
||||
|
||||
p.CompactionPlanParam = ParamGroup{
|
||||
KeyPrefix: "knowhere.cluster.compactionPlan.",
|
||||
Version: "3.1.0",
|
||||
Export: true,
|
||||
Doc: "parameters passed through to the Knowhere clustering compaction plan implementation",
|
||||
}
|
||||
p.CompactionPlanParam.Init(base.mgr)
|
||||
}
|
||||
|
||||
func (p *knowhereConfig) GetAnalyzeParams() map[string]string {
|
||||
return p.AnalyzeParam.GetValue()
|
||||
}
|
||||
|
||||
func (p *knowhereConfig) GetCompactionPlanParams() map[string]string {
|
||||
return p.CompactionPlanParam.GetValue()
|
||||
}
|
||||
|
||||
func (p *knowhereConfig) getIndexParam(indexType string, stage string) map[string]string {
|
||||
|
||||
Reference in new issue
Block a user