mirror of https://github.com/milvus-io/milvus.git
Update proto and doc
Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com>pull/4973/head^2
parent
832a880684
commit
3e596fa474
File diff suppressed because it is too large
Load Diff
|
@ -31,6 +31,7 @@
|
|||
#include <google/protobuf/message.h>
|
||||
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
|
||||
#include <google/protobuf/extension_set.h> // IWYU pragma: export
|
||||
#include <google/protobuf/generated_enum_reflection.h>
|
||||
#include <google/protobuf/unknown_field_set.h>
|
||||
#include "common.pb.h"
|
||||
#include "schema.pb.h"
|
||||
|
@ -49,7 +50,7 @@ struct TableStruct_service_5fmsg_2eproto {
|
|||
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
|
||||
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[15]
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[16]
|
||||
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
|
||||
|
@ -104,6 +105,9 @@ extern StringListResponseDefaultTypeInternal _StringListResponse_default_instanc
|
|||
class StringResponse;
|
||||
class StringResponseDefaultTypeInternal;
|
||||
extern StringResponseDefaultTypeInternal _StringResponse_default_instance_;
|
||||
class VectorValues;
|
||||
class VectorValuesDefaultTypeInternal;
|
||||
extern VectorValuesDefaultTypeInternal _VectorValues_default_instance_;
|
||||
} // namespace service
|
||||
} // namespace proto
|
||||
} // namespace milvus
|
||||
|
@ -123,11 +127,38 @@ template<> ::milvus::proto::service::RowBatch* Arena::CreateMaybeMessage<::milvu
|
|||
template<> ::milvus::proto::service::Score* Arena::CreateMaybeMessage<::milvus::proto::service::Score>(Arena*);
|
||||
template<> ::milvus::proto::service::StringListResponse* Arena::CreateMaybeMessage<::milvus::proto::service::StringListResponse>(Arena*);
|
||||
template<> ::milvus::proto::service::StringResponse* Arena::CreateMaybeMessage<::milvus::proto::service::StringResponse>(Arena*);
|
||||
template<> ::milvus::proto::service::VectorValues* Arena::CreateMaybeMessage<::milvus::proto::service::VectorValues>(Arena*);
|
||||
PROTOBUF_NAMESPACE_CLOSE
|
||||
namespace milvus {
|
||||
namespace proto {
|
||||
namespace service {
|
||||
|
||||
enum PlaceholderType : int {
|
||||
NONE = 0,
|
||||
VECTOR_BINARY = 100,
|
||||
VECTOR_FLOAT = 101,
|
||||
PlaceholderType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
|
||||
PlaceholderType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
|
||||
};
|
||||
bool PlaceholderType_IsValid(int value);
|
||||
constexpr PlaceholderType PlaceholderType_MIN = NONE;
|
||||
constexpr PlaceholderType PlaceholderType_MAX = VECTOR_FLOAT;
|
||||
constexpr int PlaceholderType_ARRAYSIZE = PlaceholderType_MAX + 1;
|
||||
|
||||
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PlaceholderType_descriptor();
|
||||
template<typename T>
|
||||
inline const std::string& PlaceholderType_Name(T enum_t_value) {
|
||||
static_assert(::std::is_same<T, PlaceholderType>::value ||
|
||||
::std::is_integral<T>::value,
|
||||
"Incorrect type passed to function PlaceholderType_Name.");
|
||||
return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
|
||||
PlaceholderType_descriptor(), enum_t_value);
|
||||
}
|
||||
inline bool PlaceholderType_Parse(
|
||||
const std::string& name, PlaceholderType* value) {
|
||||
return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<PlaceholderType>(
|
||||
PlaceholderType_descriptor(), name, value);
|
||||
}
|
||||
// ===================================================================
|
||||
|
||||
class CollectionName :
|
||||
|
@ -531,7 +562,7 @@ class RowBatch :
|
|||
|
||||
enum : int {
|
||||
kRowDataFieldNumber = 3,
|
||||
kHashValuesFieldNumber = 4,
|
||||
kHashKeysFieldNumber = 4,
|
||||
kCollectionNameFieldNumber = 1,
|
||||
kPartitionTagFieldNumber = 2,
|
||||
};
|
||||
|
@ -546,16 +577,16 @@ class RowBatch :
|
|||
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::Blob >&
|
||||
row_data() const;
|
||||
|
||||
// repeated int32 hash_values = 4;
|
||||
int hash_values_size() const;
|
||||
void clear_hash_values();
|
||||
::PROTOBUF_NAMESPACE_ID::int32 hash_values(int index) const;
|
||||
void set_hash_values(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
|
||||
void add_hash_values(::PROTOBUF_NAMESPACE_ID::int32 value);
|
||||
// repeated int32 hash_keys = 4;
|
||||
int hash_keys_size() const;
|
||||
void clear_hash_keys();
|
||||
::PROTOBUF_NAMESPACE_ID::int32 hash_keys(int index) const;
|
||||
void set_hash_keys(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
|
||||
void add_hash_keys(::PROTOBUF_NAMESPACE_ID::int32 value);
|
||||
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
|
||||
hash_values() const;
|
||||
hash_keys() const;
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
|
||||
mutable_hash_values();
|
||||
mutable_hash_keys();
|
||||
|
||||
// string collection_name = 1;
|
||||
void clear_collection_name();
|
||||
|
@ -585,8 +616,8 @@ class RowBatch :
|
|||
|
||||
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::Blob > row_data_;
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > hash_values_;
|
||||
mutable std::atomic<int> _hash_values_cached_byte_size_;
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > hash_keys_;
|
||||
mutable std::atomic<int> _hash_keys_cached_byte_size_;
|
||||
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr collection_name_;
|
||||
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr partition_tag_;
|
||||
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||
|
@ -594,6 +625,143 @@ class RowBatch :
|
|||
};
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
class VectorValues :
|
||||
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.proto.service.VectorValues) */ {
|
||||
public:
|
||||
VectorValues();
|
||||
virtual ~VectorValues();
|
||||
|
||||
VectorValues(const VectorValues& from);
|
||||
VectorValues(VectorValues&& from) noexcept
|
||||
: VectorValues() {
|
||||
*this = ::std::move(from);
|
||||
}
|
||||
|
||||
inline VectorValues& operator=(const VectorValues& from) {
|
||||
CopyFrom(from);
|
||||
return *this;
|
||||
}
|
||||
inline VectorValues& operator=(VectorValues&& from) noexcept {
|
||||
if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
|
||||
if (this != &from) InternalSwap(&from);
|
||||
} else {
|
||||
CopyFrom(from);
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
|
||||
return GetDescriptor();
|
||||
}
|
||||
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
|
||||
return GetMetadataStatic().descriptor;
|
||||
}
|
||||
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
|
||||
return GetMetadataStatic().reflection;
|
||||
}
|
||||
static const VectorValues& default_instance();
|
||||
|
||||
static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
|
||||
static inline const VectorValues* internal_default_instance() {
|
||||
return reinterpret_cast<const VectorValues*>(
|
||||
&_VectorValues_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
3;
|
||||
|
||||
friend void swap(VectorValues& a, VectorValues& b) {
|
||||
a.Swap(&b);
|
||||
}
|
||||
inline void Swap(VectorValues* other) {
|
||||
if (other == this) return;
|
||||
InternalSwap(other);
|
||||
}
|
||||
|
||||
// implements Message ----------------------------------------------
|
||||
|
||||
inline VectorValues* New() const final {
|
||||
return CreateMaybeMessage<VectorValues>(nullptr);
|
||||
}
|
||||
|
||||
VectorValues* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
|
||||
return CreateMaybeMessage<VectorValues>(arena);
|
||||
}
|
||||
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
|
||||
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
|
||||
void CopyFrom(const VectorValues& from);
|
||||
void MergeFrom(const VectorValues& from);
|
||||
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
|
||||
bool IsInitialized() const final;
|
||||
|
||||
size_t ByteSizeLong() const final;
|
||||
#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
|
||||
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
|
||||
#else
|
||||
bool MergePartialFromCodedStream(
|
||||
::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
|
||||
#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
|
||||
void SerializeWithCachedSizes(
|
||||
::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
|
||||
::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
|
||||
::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
|
||||
int GetCachedSize() const final { return _cached_size_.Get(); }
|
||||
|
||||
private:
|
||||
inline void SharedCtor();
|
||||
inline void SharedDtor();
|
||||
void SetCachedSize(int size) const final;
|
||||
void InternalSwap(VectorValues* other);
|
||||
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
|
||||
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
|
||||
return "milvus.proto.service.VectorValues";
|
||||
}
|
||||
private:
|
||||
inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
|
||||
return nullptr;
|
||||
}
|
||||
inline void* MaybeArenaPtr() const {
|
||||
return nullptr;
|
||||
}
|
||||
public:
|
||||
|
||||
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
|
||||
private:
|
||||
static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_5fmsg_2eproto);
|
||||
return ::descriptor_table_service_5fmsg_2eproto.file_level_metadata[kIndexInFileMessages];
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
// nested types ----------------------------------------------------
|
||||
|
||||
// accessors -------------------------------------------------------
|
||||
|
||||
enum : int {
|
||||
kValueFieldNumber = 1,
|
||||
};
|
||||
// repeated .milvus.proto.common.Blob value = 1;
|
||||
int value_size() const;
|
||||
void clear_value();
|
||||
::milvus::proto::common::Blob* mutable_value(int index);
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::Blob >*
|
||||
mutable_value();
|
||||
const ::milvus::proto::common::Blob& value(int index) const;
|
||||
::milvus::proto::common::Blob* add_value();
|
||||
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::Blob >&
|
||||
value() const;
|
||||
|
||||
// @@protoc_insertion_point(class_scope:milvus.proto.service.VectorValues)
|
||||
private:
|
||||
class _Internal;
|
||||
|
||||
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::Blob > value_;
|
||||
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||
friend struct ::TableStruct_service_5fmsg_2eproto;
|
||||
};
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
class PlaceholderValue :
|
||||
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.proto.service.PlaceholderValue) */ {
|
||||
public:
|
||||
|
@ -636,7 +804,7 @@ class PlaceholderValue :
|
|||
&_PlaceholderValue_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
3;
|
||||
4;
|
||||
|
||||
friend void swap(PlaceholderValue& a, PlaceholderValue& b) {
|
||||
a.Swap(&b);
|
||||
|
@ -708,7 +876,8 @@ class PlaceholderValue :
|
|||
|
||||
enum : int {
|
||||
kTagFieldNumber = 1,
|
||||
kValueFieldNumber = 2,
|
||||
kValueFieldNumber = 3,
|
||||
kTypeFieldNumber = 2,
|
||||
};
|
||||
// string tag = 1;
|
||||
void clear_tag();
|
||||
|
@ -721,7 +890,7 @@ class PlaceholderValue :
|
|||
std::string* release_tag();
|
||||
void set_allocated_tag(std::string* tag);
|
||||
|
||||
// .milvus.proto.common.Blob value = 2;
|
||||
// .milvus.proto.common.Blob value = 3;
|
||||
bool has_value() const;
|
||||
void clear_value();
|
||||
const ::milvus::proto::common::Blob& value() const;
|
||||
|
@ -729,6 +898,11 @@ class PlaceholderValue :
|
|||
::milvus::proto::common::Blob* mutable_value();
|
||||
void set_allocated_value(::milvus::proto::common::Blob* value);
|
||||
|
||||
// .milvus.proto.service.PlaceholderType type = 2;
|
||||
void clear_type();
|
||||
::milvus::proto::service::PlaceholderType type() const;
|
||||
void set_type(::milvus::proto::service::PlaceholderType value);
|
||||
|
||||
// @@protoc_insertion_point(class_scope:milvus.proto.service.PlaceholderValue)
|
||||
private:
|
||||
class _Internal;
|
||||
|
@ -736,6 +910,7 @@ class PlaceholderValue :
|
|||
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
|
||||
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tag_;
|
||||
::milvus::proto::common::Blob* value_;
|
||||
int type_;
|
||||
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||
friend struct ::TableStruct_service_5fmsg_2eproto;
|
||||
};
|
||||
|
@ -783,7 +958,7 @@ class Query :
|
|||
&_Query_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
4;
|
||||
5;
|
||||
|
||||
friend void swap(Query& a, Query& b) {
|
||||
a.Swap(&b);
|
||||
|
@ -965,7 +1140,7 @@ class StringResponse :
|
|||
&_StringResponse_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
5;
|
||||
6;
|
||||
|
||||
friend void swap(StringResponse& a, StringResponse& b) {
|
||||
a.Swap(&b);
|
||||
|
@ -1112,7 +1287,7 @@ class BoolResponse :
|
|||
&_BoolResponse_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
6;
|
||||
7;
|
||||
|
||||
friend void swap(BoolResponse& a, BoolResponse& b) {
|
||||
a.Swap(&b);
|
||||
|
@ -1253,7 +1428,7 @@ class StringListResponse :
|
|||
&_StringListResponse_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
7;
|
||||
8;
|
||||
|
||||
friend void swap(StringListResponse& a, StringListResponse& b) {
|
||||
a.Swap(&b);
|
||||
|
@ -1406,7 +1581,7 @@ class IntegerListResponse :
|
|||
&_IntegerListResponse_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
8;
|
||||
9;
|
||||
|
||||
friend void swap(IntegerListResponse& a, IntegerListResponse& b) {
|
||||
a.Swap(&b);
|
||||
|
@ -1554,7 +1729,7 @@ class IntegerRangeResponse :
|
|||
&_IntegerRangeResponse_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
9;
|
||||
10;
|
||||
|
||||
friend void swap(IntegerRangeResponse& a, IntegerRangeResponse& b) {
|
||||
a.Swap(&b);
|
||||
|
@ -1625,32 +1800,10 @@ class IntegerRangeResponse :
|
|||
// accessors -------------------------------------------------------
|
||||
|
||||
enum : int {
|
||||
kStatusFieldNumber = 1,
|
||||
kBeginFieldNumber = 2,
|
||||
kEndFieldNumber = 3,
|
||||
kStatusFieldNumber = 1,
|
||||
};
|
||||
// repeated int64 begin = 2;
|
||||
int begin_size() const;
|
||||
void clear_begin();
|
||||
::PROTOBUF_NAMESPACE_ID::int64 begin(int index) const;
|
||||
void set_begin(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
|
||||
void add_begin(::PROTOBUF_NAMESPACE_ID::int64 value);
|
||||
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
|
||||
begin() const;
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
|
||||
mutable_begin();
|
||||
|
||||
// repeated int64 end = 3;
|
||||
int end_size() const;
|
||||
void clear_end();
|
||||
::PROTOBUF_NAMESPACE_ID::int64 end(int index) const;
|
||||
void set_end(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
|
||||
void add_end(::PROTOBUF_NAMESPACE_ID::int64 value);
|
||||
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
|
||||
end() const;
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
|
||||
mutable_end();
|
||||
|
||||
// .milvus.proto.common.Status status = 1;
|
||||
bool has_status() const;
|
||||
void clear_status();
|
||||
|
@ -1659,16 +1812,24 @@ class IntegerRangeResponse :
|
|||
::milvus::proto::common::Status* mutable_status();
|
||||
void set_allocated_status(::milvus::proto::common::Status* status);
|
||||
|
||||
// int64 begin = 2;
|
||||
void clear_begin();
|
||||
::PROTOBUF_NAMESPACE_ID::int64 begin() const;
|
||||
void set_begin(::PROTOBUF_NAMESPACE_ID::int64 value);
|
||||
|
||||
// int64 end = 3;
|
||||
void clear_end();
|
||||
::PROTOBUF_NAMESPACE_ID::int64 end() const;
|
||||
void set_end(::PROTOBUF_NAMESPACE_ID::int64 value);
|
||||
|
||||
// @@protoc_insertion_point(class_scope:milvus.proto.service.IntegerRangeResponse)
|
||||
private:
|
||||
class _Internal;
|
||||
|
||||
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > begin_;
|
||||
mutable std::atomic<int> _begin_cached_byte_size_;
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > end_;
|
||||
mutable std::atomic<int> _end_cached_byte_size_;
|
||||
::milvus::proto::common::Status* status_;
|
||||
::PROTOBUF_NAMESPACE_ID::int64 begin_;
|
||||
::PROTOBUF_NAMESPACE_ID::int64 end_;
|
||||
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||
friend struct ::TableStruct_service_5fmsg_2eproto;
|
||||
};
|
||||
|
@ -1716,7 +1877,7 @@ class CollectionDescription :
|
|||
&_CollectionDescription_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
10;
|
||||
11;
|
||||
|
||||
friend void swap(CollectionDescription& a, CollectionDescription& b) {
|
||||
a.Swap(&b);
|
||||
|
@ -1873,7 +2034,7 @@ class PartitionDescription :
|
|||
&_PartitionDescription_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
11;
|
||||
12;
|
||||
|
||||
friend void swap(PartitionDescription& a, PartitionDescription& b) {
|
||||
a.Swap(&b);
|
||||
|
@ -2030,7 +2191,7 @@ class Score :
|
|||
&_Score_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
12;
|
||||
13;
|
||||
|
||||
friend void swap(Score& a, Score& b) {
|
||||
a.Swap(&b);
|
||||
|
@ -2181,7 +2342,7 @@ class Hits :
|
|||
&_Hits_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
13;
|
||||
14;
|
||||
|
||||
friend void swap(Hits& a, Hits& b) {
|
||||
a.Swap(&b);
|
||||
|
@ -2345,7 +2506,7 @@ class QueryResult :
|
|||
&_QueryResult_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
14;
|
||||
15;
|
||||
|
||||
friend void swap(QueryResult& a, QueryResult& b) {
|
||||
a.Swap(&b);
|
||||
|
@ -2749,34 +2910,65 @@ RowBatch::row_data() const {
|
|||
return row_data_;
|
||||
}
|
||||
|
||||
// repeated int32 hash_values = 4;
|
||||
inline int RowBatch::hash_values_size() const {
|
||||
return hash_values_.size();
|
||||
// repeated int32 hash_keys = 4;
|
||||
inline int RowBatch::hash_keys_size() const {
|
||||
return hash_keys_.size();
|
||||
}
|
||||
inline void RowBatch::clear_hash_values() {
|
||||
hash_values_.Clear();
|
||||
inline void RowBatch::clear_hash_keys() {
|
||||
hash_keys_.Clear();
|
||||
}
|
||||
inline ::PROTOBUF_NAMESPACE_ID::int32 RowBatch::hash_values(int index) const {
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.service.RowBatch.hash_values)
|
||||
return hash_values_.Get(index);
|
||||
inline ::PROTOBUF_NAMESPACE_ID::int32 RowBatch::hash_keys(int index) const {
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.service.RowBatch.hash_keys)
|
||||
return hash_keys_.Get(index);
|
||||
}
|
||||
inline void RowBatch::set_hash_values(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
|
||||
hash_values_.Set(index, value);
|
||||
// @@protoc_insertion_point(field_set:milvus.proto.service.RowBatch.hash_values)
|
||||
inline void RowBatch::set_hash_keys(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
|
||||
hash_keys_.Set(index, value);
|
||||
// @@protoc_insertion_point(field_set:milvus.proto.service.RowBatch.hash_keys)
|
||||
}
|
||||
inline void RowBatch::add_hash_values(::PROTOBUF_NAMESPACE_ID::int32 value) {
|
||||
hash_values_.Add(value);
|
||||
// @@protoc_insertion_point(field_add:milvus.proto.service.RowBatch.hash_values)
|
||||
inline void RowBatch::add_hash_keys(::PROTOBUF_NAMESPACE_ID::int32 value) {
|
||||
hash_keys_.Add(value);
|
||||
// @@protoc_insertion_point(field_add:milvus.proto.service.RowBatch.hash_keys)
|
||||
}
|
||||
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
|
||||
RowBatch::hash_values() const {
|
||||
// @@protoc_insertion_point(field_list:milvus.proto.service.RowBatch.hash_values)
|
||||
return hash_values_;
|
||||
RowBatch::hash_keys() const {
|
||||
// @@protoc_insertion_point(field_list:milvus.proto.service.RowBatch.hash_keys)
|
||||
return hash_keys_;
|
||||
}
|
||||
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
|
||||
RowBatch::mutable_hash_values() {
|
||||
// @@protoc_insertion_point(field_mutable_list:milvus.proto.service.RowBatch.hash_values)
|
||||
return &hash_values_;
|
||||
RowBatch::mutable_hash_keys() {
|
||||
// @@protoc_insertion_point(field_mutable_list:milvus.proto.service.RowBatch.hash_keys)
|
||||
return &hash_keys_;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// VectorValues
|
||||
|
||||
// repeated .milvus.proto.common.Blob value = 1;
|
||||
inline int VectorValues::value_size() const {
|
||||
return value_.size();
|
||||
}
|
||||
inline ::milvus::proto::common::Blob* VectorValues::mutable_value(int index) {
|
||||
// @@protoc_insertion_point(field_mutable:milvus.proto.service.VectorValues.value)
|
||||
return value_.Mutable(index);
|
||||
}
|
||||
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::Blob >*
|
||||
VectorValues::mutable_value() {
|
||||
// @@protoc_insertion_point(field_mutable_list:milvus.proto.service.VectorValues.value)
|
||||
return &value_;
|
||||
}
|
||||
inline const ::milvus::proto::common::Blob& VectorValues::value(int index) const {
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.service.VectorValues.value)
|
||||
return value_.Get(index);
|
||||
}
|
||||
inline ::milvus::proto::common::Blob* VectorValues::add_value() {
|
||||
// @@protoc_insertion_point(field_add:milvus.proto.service.VectorValues.value)
|
||||
return value_.Add();
|
||||
}
|
||||
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::Blob >&
|
||||
VectorValues::value() const {
|
||||
// @@protoc_insertion_point(field_list:milvus.proto.service.VectorValues.value)
|
||||
return value_;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
@ -2834,7 +3026,21 @@ inline void PlaceholderValue::set_allocated_tag(std::string* tag) {
|
|||
// @@protoc_insertion_point(field_set_allocated:milvus.proto.service.PlaceholderValue.tag)
|
||||
}
|
||||
|
||||
// .milvus.proto.common.Blob value = 2;
|
||||
// .milvus.proto.service.PlaceholderType type = 2;
|
||||
inline void PlaceholderValue::clear_type() {
|
||||
type_ = 0;
|
||||
}
|
||||
inline ::milvus::proto::service::PlaceholderType PlaceholderValue::type() const {
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.service.PlaceholderValue.type)
|
||||
return static_cast< ::milvus::proto::service::PlaceholderType >(type_);
|
||||
}
|
||||
inline void PlaceholderValue::set_type(::milvus::proto::service::PlaceholderType value) {
|
||||
|
||||
type_ = value;
|
||||
// @@protoc_insertion_point(field_set:milvus.proto.service.PlaceholderValue.type)
|
||||
}
|
||||
|
||||
// .milvus.proto.common.Blob value = 3;
|
||||
inline bool PlaceholderValue::has_value() const {
|
||||
return this != internal_default_instance() && value_ != nullptr;
|
||||
}
|
||||
|
@ -3485,64 +3691,32 @@ inline void IntegerRangeResponse::set_allocated_status(::milvus::proto::common::
|
|||
// @@protoc_insertion_point(field_set_allocated:milvus.proto.service.IntegerRangeResponse.status)
|
||||
}
|
||||
|
||||
// repeated int64 begin = 2;
|
||||
inline int IntegerRangeResponse::begin_size() const {
|
||||
return begin_.size();
|
||||
}
|
||||
// int64 begin = 2;
|
||||
inline void IntegerRangeResponse::clear_begin() {
|
||||
begin_.Clear();
|
||||
begin_ = PROTOBUF_LONGLONG(0);
|
||||
}
|
||||
inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerRangeResponse::begin(int index) const {
|
||||
inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerRangeResponse::begin() const {
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.service.IntegerRangeResponse.begin)
|
||||
return begin_.Get(index);
|
||||
}
|
||||
inline void IntegerRangeResponse::set_begin(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
|
||||
begin_.Set(index, value);
|
||||
// @@protoc_insertion_point(field_set:milvus.proto.service.IntegerRangeResponse.begin)
|
||||
}
|
||||
inline void IntegerRangeResponse::add_begin(::PROTOBUF_NAMESPACE_ID::int64 value) {
|
||||
begin_.Add(value);
|
||||
// @@protoc_insertion_point(field_add:milvus.proto.service.IntegerRangeResponse.begin)
|
||||
}
|
||||
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
|
||||
IntegerRangeResponse::begin() const {
|
||||
// @@protoc_insertion_point(field_list:milvus.proto.service.IntegerRangeResponse.begin)
|
||||
return begin_;
|
||||
}
|
||||
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
|
||||
IntegerRangeResponse::mutable_begin() {
|
||||
// @@protoc_insertion_point(field_mutable_list:milvus.proto.service.IntegerRangeResponse.begin)
|
||||
return &begin_;
|
||||
inline void IntegerRangeResponse::set_begin(::PROTOBUF_NAMESPACE_ID::int64 value) {
|
||||
|
||||
begin_ = value;
|
||||
// @@protoc_insertion_point(field_set:milvus.proto.service.IntegerRangeResponse.begin)
|
||||
}
|
||||
|
||||
// repeated int64 end = 3;
|
||||
inline int IntegerRangeResponse::end_size() const {
|
||||
return end_.size();
|
||||
}
|
||||
// int64 end = 3;
|
||||
inline void IntegerRangeResponse::clear_end() {
|
||||
end_.Clear();
|
||||
end_ = PROTOBUF_LONGLONG(0);
|
||||
}
|
||||
inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerRangeResponse::end(int index) const {
|
||||
inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerRangeResponse::end() const {
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.service.IntegerRangeResponse.end)
|
||||
return end_.Get(index);
|
||||
}
|
||||
inline void IntegerRangeResponse::set_end(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
|
||||
end_.Set(index, value);
|
||||
// @@protoc_insertion_point(field_set:milvus.proto.service.IntegerRangeResponse.end)
|
||||
}
|
||||
inline void IntegerRangeResponse::add_end(::PROTOBUF_NAMESPACE_ID::int64 value) {
|
||||
end_.Add(value);
|
||||
// @@protoc_insertion_point(field_add:milvus.proto.service.IntegerRangeResponse.end)
|
||||
}
|
||||
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
|
||||
IntegerRangeResponse::end() const {
|
||||
// @@protoc_insertion_point(field_list:milvus.proto.service.IntegerRangeResponse.end)
|
||||
return end_;
|
||||
}
|
||||
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
|
||||
IntegerRangeResponse::mutable_end() {
|
||||
// @@protoc_insertion_point(field_mutable_list:milvus.proto.service.IntegerRangeResponse.end)
|
||||
return &end_;
|
||||
inline void IntegerRangeResponse::set_end(::PROTOBUF_NAMESPACE_ID::int64 value) {
|
||||
|
||||
end_ = value;
|
||||
// @@protoc_insertion_point(field_set:milvus.proto.service.IntegerRangeResponse.end)
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
@ -4079,6 +4253,8 @@ QueryResult::hits() const {
|
|||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
// @@protoc_insertion_point(namespace_scope)
|
||||
|
||||
|
@ -4086,6 +4262,16 @@ QueryResult::hits() const {
|
|||
} // namespace proto
|
||||
} // namespace milvus
|
||||
|
||||
PROTOBUF_NAMESPACE_OPEN
|
||||
|
||||
template <> struct is_proto_enum< ::milvus::proto::service::PlaceholderType> : ::std::true_type {};
|
||||
template <>
|
||||
inline const EnumDescriptor* GetEnumDescriptor< ::milvus::proto::service::PlaceholderType>() {
|
||||
return ::milvus::proto::service::PlaceholderType_descriptor();
|
||||
}
|
||||
|
||||
PROTOBUF_NAMESPACE_CLOSE
|
||||
|
||||
// @@protoc_insertion_point(global_scope)
|
||||
|
||||
#include <google/protobuf/port_undef.inc>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
sudo apt-get install libtbb-dev
|
||||
sudo apt-get install libtbb-dev libopenblas-dev libopenblas-base
|
||||
|
|
|
@ -59,7 +59,7 @@ func (im *InsertMarshaler) Marshal(input *TsMsg) ([]byte, commonPb.Status) {
|
|||
func (im *InsertMarshaler) Unmarshal(input []byte) (*TsMsg, commonPb.Status) {
|
||||
insertRequest := internalPb.InsertRequest{}
|
||||
err := proto.Unmarshal(input, &insertRequest)
|
||||
insertTask := InsertTask{insertRequest}
|
||||
insertTask := InsertTask{InsertRequest:insertRequest}
|
||||
|
||||
if err != nil {
|
||||
return nil, commonPb.Status{ErrorCode: commonPb.ErrorCode_UNEXPECTED_ERROR}
|
||||
|
@ -85,7 +85,7 @@ func (dm *DeleteMarshaler) Marshal(input *TsMsg) ([]byte, commonPb.Status) {
|
|||
func (dm *DeleteMarshaler) Unmarshal(input []byte) (*TsMsg, commonPb.Status) {
|
||||
deleteRequest := internalPb.DeleteRequest{}
|
||||
err := proto.Unmarshal(input, &deleteRequest)
|
||||
deleteTask := DeleteTask{deleteRequest}
|
||||
deleteTask := DeleteTask{DeleteRequest:deleteRequest}
|
||||
if err != nil {
|
||||
return nil, commonPb.Status{ErrorCode: commonPb.ErrorCode_UNEXPECTED_ERROR}
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ func (sm *SearchMarshaler) Marshal(input *TsMsg) ([]byte, commonPb.Status) {
|
|||
func (sm *SearchMarshaler) Unmarshal(input []byte) (*TsMsg, commonPb.Status) {
|
||||
searchRequest := internalPb.SearchRequest{}
|
||||
err := proto.Unmarshal(input, &searchRequest)
|
||||
searchTask := SearchTask{searchRequest}
|
||||
searchTask := SearchTask{SearchRequest: searchRequest}
|
||||
if err != nil {
|
||||
return nil, commonPb.Status{ErrorCode: commonPb.ErrorCode_UNEXPECTED_ERROR}
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ func (srm *SearchResultMarshaler) Marshal(input *TsMsg) ([]byte, commonPb.Status
|
|||
func (srm *SearchResultMarshaler) Unmarshal(input []byte) (*TsMsg, commonPb.Status) {
|
||||
searchResult := internalPb.SearchResult{}
|
||||
err := proto.Unmarshal(input, &searchResult)
|
||||
searchResultTask := SearchResultTask{searchResult}
|
||||
searchResultTask := SearchResultTask{SearchResult: searchResult}
|
||||
if err != nil {
|
||||
return nil, commonPb.Status{ErrorCode: commonPb.ErrorCode_UNEXPECTED_ERROR}
|
||||
}
|
||||
|
@ -160,7 +160,7 @@ func (tm *TimeSyncMarshaler) Marshal(input *TsMsg) ([]byte, commonPb.Status) {
|
|||
func (tm *TimeSyncMarshaler) Unmarshal(input []byte) (*TsMsg, commonPb.Status) {
|
||||
timeSyncMsg := internalPb.TimeSyncMsg{}
|
||||
err := proto.Unmarshal(input, &timeSyncMsg)
|
||||
timeSyncTask := TimeSyncTask{timeSyncMsg}
|
||||
timeSyncTask := TimeSyncTask{TimeSyncMsg:timeSyncMsg}
|
||||
if err != nil {
|
||||
return nil, commonPb.Status{ErrorCode: commonPb.ErrorCode_UNEXPECTED_ERROR}
|
||||
}
|
||||
|
|
|
@ -2,35 +2,40 @@ package msgstream
|
|||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/apache/pulsar-client-go/pulsar"
|
||||
commonPb "github.com/zilliztech/milvus-distributed/internal/proto/commonpb"
|
||||
"log"
|
||||
"sync"
|
||||
)
|
||||
|
||||
const PulsarChannelLength = 100
|
||||
|
||||
type TimeStamp uint64
|
||||
type Timestamp uint64
|
||||
|
||||
type MsgPack struct {
|
||||
BeginTs TimeStamp
|
||||
EndTs TimeStamp
|
||||
BeginTs Timestamp
|
||||
EndTs Timestamp
|
||||
Msgs []*TsMsg
|
||||
}
|
||||
|
||||
type HashFunc func(*MsgPack) map[uint32]*MsgPack
|
||||
type RepackFunc func(msgs []*TsMsg, hashKeys [][]int32) map[int32]*MsgPack
|
||||
|
||||
type MsgStream interface {
|
||||
Start()
|
||||
Close()
|
||||
|
||||
SetRepackFunc(repackFunc RepackFunc)
|
||||
SetMsgMarshaler(marshal *TsMsgMarshaler, unmarshal *TsMsgMarshaler)
|
||||
Produce(*MsgPack) commonPb.Status
|
||||
Consume() *MsgPack // message can be consumed exactly once
|
||||
}
|
||||
|
||||
type PulsarMsgStream struct {
|
||||
client *pulsar.Client
|
||||
producers []*pulsar.Producer
|
||||
consumers []*pulsar.Consumer
|
||||
msgHashFunc HashFunc // return a map from produceChannel idx to *MsgPack
|
||||
client *pulsar.Client
|
||||
producers []*pulsar.Producer
|
||||
consumers []*pulsar.Consumer
|
||||
repackFunc RepackFunc // return a map from produceChannel idx to *MsgPack
|
||||
|
||||
receiveBuf chan *MsgPack
|
||||
|
||||
msgMarshaler *TsMsgMarshaler
|
||||
msgUnmarshaler *TsMsgMarshaler
|
||||
|
@ -56,9 +61,9 @@ func (ms *PulsarMsgStream) SetProducers(channels []string) {
|
|||
}
|
||||
}
|
||||
|
||||
func (ms *PulsarMsgStream) SetConsumers(channels []string, subName string) {
|
||||
func (ms *PulsarMsgStream) SetConsumers(channels []string, subName string, pulsarBufSize int64) {
|
||||
for i := 0; i < len(channels); i++ {
|
||||
receiveChannel := make(chan pulsar.ConsumerMessage, PulsarChannelLength)
|
||||
receiveChannel := make(chan pulsar.ConsumerMessage, pulsarBufSize)
|
||||
pc, err := (*ms.client).Subscribe(pulsar.ConsumerOptions{
|
||||
Topic: channels[i],
|
||||
SubscriptionName: subName,
|
||||
|
@ -78,27 +83,52 @@ func (ms *PulsarMsgStream) SetMsgMarshaler(marshal *TsMsgMarshaler, unmarshal *T
|
|||
ms.msgUnmarshaler = unmarshal
|
||||
}
|
||||
|
||||
func (ms *PulsarMsgStream) SetHashFunc(hashFunc HashFunc) {
|
||||
ms.msgHashFunc = func(pack *MsgPack) map[uint32]*MsgPack {
|
||||
hashResult := hashFunc(pack)
|
||||
bucketResult := make(map[uint32]*MsgPack)
|
||||
for k, v := range hashResult {
|
||||
channelIndex := k % uint32(len(ms.producers))
|
||||
_, ok := bucketResult[channelIndex]
|
||||
if ok == false {
|
||||
msgPack := MsgPack{}
|
||||
bucketResult[channelIndex] = &msgPack
|
||||
}
|
||||
for _, msg := range v.Msgs {
|
||||
bucketResult[channelIndex].Msgs = append(bucketResult[channelIndex].Msgs, msg)
|
||||
}
|
||||
func (ms *PulsarMsgStream) SetRepackFunc(repackFunc RepackFunc) {
|
||||
ms.repackFunc = repackFunc
|
||||
}
|
||||
|
||||
func (ms *PulsarMsgStream) Start(){
|
||||
go ms.bufMsgPackToChannel()
|
||||
}
|
||||
|
||||
func (ms *PulsarMsgStream) Close() {
|
||||
for _, producer := range ms.producers {
|
||||
if producer != nil {
|
||||
(*producer).Close()
|
||||
}
|
||||
return bucketResult
|
||||
}
|
||||
for _, consumer := range ms.consumers {
|
||||
if consumer != nil {
|
||||
(*consumer).Close()
|
||||
}
|
||||
}
|
||||
if ms.client != nil {
|
||||
(*ms.client).Close()
|
||||
}
|
||||
}
|
||||
|
||||
func (ms *PulsarMsgStream) Produce(msg *MsgPack) commonPb.Status {
|
||||
result := ms.msgHashFunc(msg)
|
||||
func (ms *PulsarMsgStream) InitMsgPackBuf(msgPackBufSize int64) {
|
||||
ms.receiveBuf = make(chan *MsgPack, msgPackBufSize)
|
||||
}
|
||||
|
||||
|
||||
func (ms *PulsarMsgStream) Produce(msgPack *MsgPack) commonPb.Status {
|
||||
tsMsgs := msgPack.Msgs
|
||||
if len(tsMsgs) <=0 {
|
||||
log.Println("receive empty msgPack")
|
||||
return commonPb.Status{ErrorCode: commonPb.ErrorCode_SUCCESS}
|
||||
}
|
||||
reBucketValues := make([][]int32, len(tsMsgs))
|
||||
for channelId, tsMsg := range tsMsgs {
|
||||
hashValues := (*tsMsg).HashKeys()
|
||||
bucketValues := make([]int32, len(hashValues))
|
||||
for index, hashValue := range hashValues {
|
||||
bucketValues[index] = hashValue % int32(len(ms.producers))
|
||||
}
|
||||
reBucketValues[channelId] = bucketValues
|
||||
}
|
||||
|
||||
result := ms.repackFunc(tsMsgs, reBucketValues)
|
||||
for k, v := range result {
|
||||
for i := 0; i < len(v.Msgs); i++ {
|
||||
mb, status := (*ms.msgMarshaler).Marshal(v.Msgs[i])
|
||||
|
@ -112,30 +142,53 @@ func (ms *PulsarMsgStream) Produce(msg *MsgPack) commonPb.Status {
|
|||
); err != nil {
|
||||
log.Printf("post into pulsar filed, error = %v", err)
|
||||
}
|
||||
fmt.Println("send a msg")
|
||||
}
|
||||
}
|
||||
|
||||
return commonPb.Status{ErrorCode: commonPb.ErrorCode_SUCCESS}
|
||||
}
|
||||
|
||||
func (ms *PulsarMsgStream) Consume() *MsgPack {
|
||||
tsMsgList := make([]*TsMsg, 0)
|
||||
for i := 0; i < len(ms.consumers); i++ {
|
||||
pulsarMsg, ok := <-(*ms.consumers[i]).Chan()
|
||||
if ok == false {
|
||||
log.Fatal("consumer closed!")
|
||||
continue
|
||||
ctx := context.Background()
|
||||
for {
|
||||
select {
|
||||
case cm, ok := <-ms.receiveBuf:
|
||||
if !ok {
|
||||
log.Println("buf chan closed")
|
||||
return nil
|
||||
}
|
||||
return cm
|
||||
case <-ctx.Done():
|
||||
return nil
|
||||
}
|
||||
(*ms.consumers[i]).AckID(pulsarMsg.ID())
|
||||
tsMsg, status := (*ms.msgUnmarshaler).Unmarshal(pulsarMsg.Payload())
|
||||
if status.ErrorCode != commonPb.ErrorCode_SUCCESS {
|
||||
log.Printf("Marshal ManipulationReqMsg failed, error ")
|
||||
}
|
||||
tsMsgList = append(tsMsgList, tsMsg)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
msgPack := MsgPack{Msgs: tsMsgList}
|
||||
return &msgPack
|
||||
func (ms *PulsarMsgStream) bufMsgPackToChannel() {
|
||||
tsMsgList := make([]*TsMsg, 0)
|
||||
for {
|
||||
for i := 0; i < len(ms.consumers); i++ {
|
||||
consumerChan := (*ms.consumers[i]).Chan()
|
||||
chanLen := len(consumerChan)
|
||||
for l := 0; l < chanLen; l++ {
|
||||
pulsarMsg, ok := <-consumerChan
|
||||
if ok == false {
|
||||
log.Printf("channel closed")
|
||||
}
|
||||
(*ms.consumers[i]).AckID(pulsarMsg.ID())
|
||||
tsMsg, status := (*ms.msgUnmarshaler).Unmarshal(pulsarMsg.Payload())
|
||||
if status.ErrorCode != commonPb.ErrorCode_SUCCESS {
|
||||
log.Printf("Marshal ManipulationReqMsg failed, error ")
|
||||
}
|
||||
tsMsgList = append(tsMsgList, tsMsg)
|
||||
}
|
||||
}
|
||||
if len(tsMsgList) > 0 {
|
||||
msgPack := MsgPack{Msgs: tsMsgList}
|
||||
ms.receiveBuf <- &msgPack
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
type PulsarTtMsgStream struct {
|
||||
|
@ -143,13 +196,17 @@ type PulsarTtMsgStream struct {
|
|||
inputBuf []*TsMsg
|
||||
unsolvedBuf []*TsMsg
|
||||
msgPacks []*MsgPack
|
||||
lastTimeStamp TimeStamp
|
||||
lastTimeStamp Timestamp
|
||||
}
|
||||
|
||||
func (ms *PulsarTtMsgStream) Consume() *MsgPack { //return messages in one time tick
|
||||
func (ms *PulsarTtMsgStream) Start(){
|
||||
go ms.bufMsgPackToChannel()
|
||||
}
|
||||
|
||||
func (ms *PulsarTtMsgStream) bufMsgPackToChannel() {
|
||||
wg := sync.WaitGroup{}
|
||||
wg.Add(len(ms.consumers))
|
||||
eofMsgTimeStamp := make(map[int]TimeStamp)
|
||||
eofMsgTimeStamp := make(map[int]Timestamp)
|
||||
mu := sync.Mutex{}
|
||||
for i := 0; i < len(ms.consumers); i++ {
|
||||
go ms.findTimeTick(context.Background(), i, eofMsgTimeStamp, &wg, &mu)
|
||||
|
@ -161,12 +218,10 @@ func (ms *PulsarTtMsgStream) Consume() *MsgPack { //return messages in one time
|
|||
}
|
||||
|
||||
timeTickBuf := make([]*TsMsg, 0)
|
||||
for _, v := range ms.unsolvedBuf {
|
||||
ms.inputBuf = append(ms.inputBuf, v)
|
||||
}
|
||||
ms.inputBuf = append(ms.inputBuf, ms.unsolvedBuf...)
|
||||
ms.unsolvedBuf = ms.unsolvedBuf[:0]
|
||||
for _, v := range ms.inputBuf {
|
||||
if (*v).Ts() >= timeStamp {
|
||||
if (*v).EndTs() >= timeStamp {
|
||||
timeTickBuf = append(timeTickBuf, v)
|
||||
} else {
|
||||
ms.unsolvedBuf = append(ms.unsolvedBuf, v)
|
||||
|
@ -180,12 +235,12 @@ func (ms *PulsarTtMsgStream) Consume() *MsgPack { //return messages in one time
|
|||
Msgs: timeTickBuf,
|
||||
}
|
||||
|
||||
return &msgPack
|
||||
ms.receiveBuf <- &msgPack
|
||||
}
|
||||
|
||||
func (ms *PulsarTtMsgStream) findTimeTick(ctx context.Context,
|
||||
channelIndex int,
|
||||
eofMsgMap map[int]TimeStamp,
|
||||
eofMsgMap map[int]Timestamp,
|
||||
wg *sync.WaitGroup,
|
||||
mu *sync.Mutex) {
|
||||
for {
|
||||
|
@ -200,9 +255,10 @@ func (ms *PulsarTtMsgStream) findTimeTick(ctx context.Context,
|
|||
(*ms.consumers[channelIndex]).Ack(pulsarMsg)
|
||||
tsMsg, status := (*ms.msgUnmarshaler).Unmarshal(pulsarMsg.Payload())
|
||||
// TODO:: Find the EOF
|
||||
if (*tsMsg).Type() == kTimeTick {
|
||||
eofMsgMap[channelIndex] = (*tsMsg).Ts()
|
||||
break
|
||||
if (*tsMsg).Type() == kTimeSync {
|
||||
eofMsgMap[channelIndex] = (*tsMsg).EndTs()
|
||||
wg.Done()
|
||||
return
|
||||
}
|
||||
if status.ErrorCode != commonPb.ErrorCode_SUCCESS {
|
||||
log.Printf("Marshal ManipulationReqMsg failed, error ")
|
||||
|
@ -212,11 +268,10 @@ func (ms *PulsarTtMsgStream) findTimeTick(ctx context.Context,
|
|||
mu.Unlock()
|
||||
}
|
||||
}
|
||||
wg.Done()
|
||||
}
|
||||
|
||||
func checkTimeTickMsg(msg map[int]TimeStamp) (TimeStamp, bool) {
|
||||
checkMap := make(map[TimeStamp]int)
|
||||
func checkTimeTickMsg(msg map[int]Timestamp) (Timestamp, bool) {
|
||||
checkMap := make(map[Timestamp]int)
|
||||
for _, v := range msg {
|
||||
checkMap[v] += 1
|
||||
}
|
||||
|
|
|
@ -0,0 +1,213 @@
|
|||
package msgstream
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
commonPb "github.com/zilliztech/milvus-distributed/internal/proto/commonpb"
|
||||
internalPb "github.com/zilliztech/milvus-distributed/internal/proto/internalpb"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func repackFunc(msgs []*TsMsg, hashKeys [][]int32) map[int32]*MsgPack {
|
||||
result := make(map[int32]*MsgPack)
|
||||
for i, request := range msgs {
|
||||
keys := hashKeys[i]
|
||||
for _, channelId := range keys {
|
||||
_, ok := result[channelId]
|
||||
if ok == false {
|
||||
msgPack := MsgPack{}
|
||||
result[channelId] = &msgPack
|
||||
}
|
||||
result[channelId].Msgs = append(result[channelId].Msgs, request)
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func getTsMsg(msgType MsgType, reqId int64, hashValue int32) *TsMsg {
|
||||
var tsMsg TsMsg
|
||||
switch msgType {
|
||||
case kInsert:
|
||||
insertRequest := internalPb.InsertRequest{
|
||||
ReqType: internalPb.ReqType_kInsert,
|
||||
ReqId: reqId,
|
||||
CollectionName: "Collection",
|
||||
PartitionTag: "Partition",
|
||||
SegmentId: 1,
|
||||
ChannelId: 1,
|
||||
ProxyId: 1,
|
||||
Timestamps: []uint64{1},
|
||||
}
|
||||
insertMsg := InsertTask{
|
||||
HashValues: []int32{hashValue},
|
||||
InsertRequest: insertRequest,
|
||||
}
|
||||
tsMsg = insertMsg
|
||||
case kDelete:
|
||||
deleteRequest := internalPb.DeleteRequest{
|
||||
ReqType: internalPb.ReqType_kDelete,
|
||||
ReqId: reqId,
|
||||
CollectionName: "Collection",
|
||||
ChannelId: 1,
|
||||
ProxyId: 1,
|
||||
Timestamps: []uint64{1},
|
||||
PrimaryKeys: []int64{1},
|
||||
}
|
||||
deleteMsg := DeleteTask{
|
||||
HashValues: []int32{hashValue},
|
||||
DeleteRequest: deleteRequest,
|
||||
}
|
||||
tsMsg = deleteMsg
|
||||
case kSearch:
|
||||
searchRequest := internalPb.SearchRequest{
|
||||
ReqType: internalPb.ReqType_kSearch,
|
||||
ReqId: reqId,
|
||||
ProxyId: 1,
|
||||
Timestamp: 1,
|
||||
ResultChannelId: 1,
|
||||
}
|
||||
searchMsg := SearchTask{
|
||||
HashValues: []int32{hashValue},
|
||||
SearchRequest: searchRequest,
|
||||
}
|
||||
tsMsg = searchMsg
|
||||
case kSearchResult:
|
||||
searchResult := internalPb.SearchResult{
|
||||
Status: &commonPb.Status{ErrorCode: commonPb.ErrorCode_SUCCESS},
|
||||
ReqId: reqId,
|
||||
ProxyId: 1,
|
||||
QueryNodeId: 1,
|
||||
Timestamp: 1,
|
||||
ResultChannelId: 1,
|
||||
}
|
||||
searchResultMsg := SearchResultTask{
|
||||
HashValues: []int32{hashValue},
|
||||
SearchResult: searchResult,
|
||||
}
|
||||
tsMsg = searchResultMsg
|
||||
case kTimeSync:
|
||||
timeSyncResult := internalPb.TimeSyncMsg{
|
||||
PeerId: reqId,
|
||||
Timestamp: 1,
|
||||
}
|
||||
timeSyncMsg := TimeSyncTask{
|
||||
HashValues: []int32{hashValue},
|
||||
TimeSyncMsg: timeSyncResult,
|
||||
}
|
||||
tsMsg = timeSyncMsg
|
||||
}
|
||||
return &tsMsg
|
||||
}
|
||||
|
||||
func initStream(pulsarAddress string,
|
||||
producerChannels []string,
|
||||
consumerChannels []string,
|
||||
consumerSubName string,
|
||||
msgPack *MsgPack,
|
||||
inputMsgType MsgType,
|
||||
outputMsgType MsgType) {
|
||||
|
||||
// set input stream
|
||||
inputStream := PulsarMsgStream{}
|
||||
inputStream.SetPulsarCient(pulsarAddress)
|
||||
inputStream.SetMsgMarshaler(GetMarshaler(inputMsgType), nil)
|
||||
inputStream.SetProducers(producerChannels)
|
||||
inputStream.SetRepackFunc(repackFunc)
|
||||
|
||||
// set output stream
|
||||
outputStream := PulsarMsgStream{}
|
||||
outputStream.SetPulsarCient(pulsarAddress)
|
||||
outputStream.SetMsgMarshaler(nil, GetMarshaler(outputMsgType))
|
||||
outputStream.SetConsumers(consumerChannels, consumerSubName, 100)
|
||||
outputStream.InitMsgPackBuf(100)
|
||||
outputStream.Start()
|
||||
|
||||
//send msgPack
|
||||
inputStream.Produce(msgPack)
|
||||
//outputStream.Start()
|
||||
|
||||
// receive msg
|
||||
receiveCount := 0
|
||||
for {
|
||||
result := outputStream.Consume()
|
||||
if len(result.Msgs) > 0 {
|
||||
msgs := result.Msgs
|
||||
for _, v := range msgs {
|
||||
receiveCount++
|
||||
fmt.Println("msg type: ", (*v).Type(), ", msg value: ", *v)
|
||||
}
|
||||
}
|
||||
if receiveCount >= len(msgPack.Msgs) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestStream_Insert(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"insert1", "insert2"}
|
||||
consumerChannels := []string{"insert1", "insert2"}
|
||||
consumerSubName := "subInsert"
|
||||
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kInsert, 0, 0))
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kInsert, 1, 1))
|
||||
|
||||
//run stream
|
||||
initStream(pulsarAddress, producerChannels, consumerChannels, consumerSubName, &msgPack, kInsert, kInsert)
|
||||
}
|
||||
|
||||
func TestStream_Delete(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"delete"}
|
||||
consumerChannels := []string{"delete"}
|
||||
consumerSubName := "subDelete"
|
||||
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kDelete, 0, 0))
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kDelete, 3, 3))
|
||||
|
||||
//run stream
|
||||
initStream(pulsarAddress, producerChannels, consumerChannels, consumerSubName, &msgPack, kDelete, kDelete)
|
||||
}
|
||||
|
||||
func TestStream_Search(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"search"}
|
||||
consumerChannels := []string{"search"}
|
||||
consumerSubName := "subSearch"
|
||||
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kSearch, 0, 0))
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kSearch, 3, 3))
|
||||
|
||||
//run stream
|
||||
initStream(pulsarAddress, producerChannels, consumerChannels, consumerSubName, &msgPack, kSearch, kSearch)
|
||||
}
|
||||
|
||||
func TestStream_SearchResult(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"search"}
|
||||
consumerChannels := []string{"search"}
|
||||
consumerSubName := "subSearch"
|
||||
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kSearchResult, 0, 0))
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kSearchResult, 3, 3))
|
||||
|
||||
//run stream
|
||||
initStream(pulsarAddress, producerChannels, consumerChannels, consumerSubName, &msgPack, kSearchResult, kSearchResult)
|
||||
}
|
||||
|
||||
func TestStream_TimeSync(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"search"}
|
||||
consumerChannels := []string{"search"}
|
||||
consumerSubName := "subSearch"
|
||||
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kTimeSync, 0, 0))
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kTimeSync, 3, 3))
|
||||
|
||||
//run stream
|
||||
initStream(pulsarAddress, producerChannels, consumerChannels, consumerSubName, &msgPack, kTimeSync, kTimeSync)
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
package msgstream
|
||||
|
||||
func NewInputStream(pulsarAddress string,
|
||||
producerChannels []string,
|
||||
timeTick bool) *MsgStream {
|
||||
var stream MsgStream
|
||||
if timeTick {
|
||||
pulsarTtStream := PulsarTtMsgStream{}
|
||||
pulsarTtStream.SetPulsarCient(pulsarAddress)
|
||||
pulsarTtStream.SetProducers(producerChannels)
|
||||
stream = &pulsarTtStream
|
||||
} else {
|
||||
pulsarStream := PulsarMsgStream{}
|
||||
pulsarStream.SetPulsarCient(pulsarAddress)
|
||||
pulsarStream.SetProducers(producerChannels)
|
||||
stream = &pulsarStream
|
||||
}
|
||||
|
||||
return &stream
|
||||
}
|
||||
|
||||
func NewOutputStream(pulsarAddress string,
|
||||
pulsarBufSize int64,
|
||||
consumerChannelSize int64,
|
||||
consumerChannels []string,
|
||||
consumerSubName string,
|
||||
timeTick bool) *MsgStream {
|
||||
var stream MsgStream
|
||||
if timeTick {
|
||||
pulsarTtStream := PulsarTtMsgStream{}
|
||||
pulsarTtStream.SetPulsarCient(pulsarAddress)
|
||||
pulsarTtStream.SetConsumers(consumerChannels, consumerSubName, pulsarBufSize)
|
||||
pulsarTtStream.InitMsgPackBuf(consumerChannelSize)
|
||||
stream = &pulsarTtStream
|
||||
} else {
|
||||
pulsarStream := PulsarMsgStream{}
|
||||
pulsarStream.SetPulsarCient(pulsarAddress)
|
||||
pulsarStream.SetConsumers(consumerChannels, consumerSubName, pulsarBufSize)
|
||||
pulsarStream.InitMsgPackBuf(consumerChannelSize)
|
||||
stream = &pulsarStream
|
||||
}
|
||||
|
||||
return &stream
|
||||
}
|
||||
|
||||
func NewPipeStream(pulsarAddress string,
|
||||
pulsarBufSize int64,
|
||||
consumerChannelSize int64,
|
||||
producerChannels []string,
|
||||
consumerChannels []string,
|
||||
consumerSubName string,
|
||||
timeTick bool) *MsgStream {
|
||||
var stream MsgStream
|
||||
if timeTick {
|
||||
pulsarTtStream := PulsarTtMsgStream{}
|
||||
pulsarTtStream.SetPulsarCient(pulsarAddress)
|
||||
pulsarTtStream.SetProducers(producerChannels)
|
||||
pulsarTtStream.SetConsumers(consumerChannels, consumerSubName, pulsarBufSize)
|
||||
pulsarTtStream.InitMsgPackBuf(consumerChannelSize)
|
||||
stream = &pulsarTtStream
|
||||
} else {
|
||||
pulsarStream := PulsarMsgStream{}
|
||||
pulsarStream.SetPulsarCient(pulsarAddress)
|
||||
pulsarStream.SetProducers(producerChannels)
|
||||
pulsarStream.SetConsumers(consumerChannels, consumerSubName, pulsarBufSize)
|
||||
pulsarStream.InitMsgPackBuf(consumerChannelSize)
|
||||
stream = &pulsarStream
|
||||
}
|
||||
|
||||
return &stream
|
||||
}
|
|
@ -0,0 +1,251 @@
|
|||
package msgstream
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
internalPb "github.com/zilliztech/milvus-distributed/internal/proto/internalpb"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestNewStream_Insert(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"insert1", "insert2"}
|
||||
consumerChannels := []string{"insert1", "insert2"}
|
||||
consumerSubName := "subInsert"
|
||||
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kInsert, 0, 0))
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kInsert, 1, 1))
|
||||
inputStream := NewInputStream(pulsarAddress, producerChannels, false)
|
||||
outputStream := NewOutputStream(pulsarAddress, 100, 100, consumerChannels, consumerSubName, false)
|
||||
|
||||
(*inputStream).SetMsgMarshaler(GetMarshaler(kInsert), nil)
|
||||
(*inputStream).SetRepackFunc(repackFunc)
|
||||
(*outputStream).SetMsgMarshaler(nil, GetMarshaler(kInsert))
|
||||
(*outputStream).Start()
|
||||
|
||||
//send msgPack
|
||||
(*inputStream).Produce(&msgPack)
|
||||
//(*outputStream).Start()
|
||||
|
||||
// receive msg
|
||||
receiveCount := 0
|
||||
for {
|
||||
result := (*outputStream).Consume()
|
||||
if len(result.Msgs) > 0 {
|
||||
msgs := result.Msgs
|
||||
for _, v := range msgs {
|
||||
receiveCount++
|
||||
fmt.Println("msg type: ", (*v).Type(), ", msg value: ", *v)
|
||||
}
|
||||
}
|
||||
if receiveCount >= len(msgPack.Msgs) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewStream_Delete(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"delete1", "delete2"}
|
||||
consumerChannels := []string{"delete1", "delete2"}
|
||||
consumerSubName := "subDelete"
|
||||
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kDelete, 0, 0))
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kDelete, 1, 1))
|
||||
inputStream := NewInputStream(pulsarAddress, producerChannels, false)
|
||||
outputStream := NewOutputStream(pulsarAddress, 100, 100, consumerChannels, consumerSubName, false)
|
||||
|
||||
(*inputStream).SetMsgMarshaler(GetMarshaler(kDelete), nil)
|
||||
(*inputStream).SetRepackFunc(repackFunc)
|
||||
(*outputStream).SetMsgMarshaler(nil, GetMarshaler(kDelete))
|
||||
(*outputStream).Start()
|
||||
|
||||
//send msgPack
|
||||
(*inputStream).Produce(&msgPack)
|
||||
//(*outputStream).Start()
|
||||
|
||||
// receive msg
|
||||
receiveCount := 0
|
||||
for {
|
||||
result := (*outputStream).Consume()
|
||||
if len(result.Msgs) > 0 {
|
||||
msgs := result.Msgs
|
||||
for _, v := range msgs {
|
||||
receiveCount++
|
||||
fmt.Println("msg type: ", (*v).Type(), ", msg value: ", *v)
|
||||
}
|
||||
}
|
||||
if receiveCount >= len(msgPack.Msgs) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewStream_Search(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"search1", "search2"}
|
||||
consumerChannels := []string{"search1", "search2"}
|
||||
consumerSubName := "subSearch"
|
||||
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kSearch, 0, 0))
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kSearch, 1, 1))
|
||||
inputStream := NewInputStream(pulsarAddress, producerChannels, false)
|
||||
outputStream := NewOutputStream(pulsarAddress, 100, 100, consumerChannels, consumerSubName, false)
|
||||
|
||||
(*inputStream).SetMsgMarshaler(GetMarshaler(kSearch), nil)
|
||||
(*inputStream).SetRepackFunc(repackFunc)
|
||||
(*outputStream).SetMsgMarshaler(nil, GetMarshaler(kSearch))
|
||||
(*outputStream).Start()
|
||||
|
||||
//send msgPack
|
||||
(*inputStream).Produce(&msgPack)
|
||||
//(*outputStream).Start()
|
||||
|
||||
// receive msg
|
||||
receiveCount := 0
|
||||
for {
|
||||
result := (*outputStream).Consume()
|
||||
if len(result.Msgs) > 0 {
|
||||
msgs := result.Msgs
|
||||
for _, v := range msgs {
|
||||
receiveCount++
|
||||
fmt.Println("msg type: ", (*v).Type(), ", msg value: ", *v)
|
||||
}
|
||||
}
|
||||
if receiveCount >= len(msgPack.Msgs) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewStream_SearchResult(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"searchResult1", "searchResult2"}
|
||||
consumerChannels := []string{"searchResult1", "searchResult2"}
|
||||
consumerSubName := "subInsert"
|
||||
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kSearchResult, 0, 0))
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kSearchResult, 1, 1))
|
||||
inputStream := NewInputStream(pulsarAddress, producerChannels, false)
|
||||
outputStream := NewOutputStream(pulsarAddress, 100, 100, consumerChannels, consumerSubName, false)
|
||||
|
||||
(*inputStream).SetMsgMarshaler(GetMarshaler(kSearchResult), nil)
|
||||
(*inputStream).SetRepackFunc(repackFunc)
|
||||
(*outputStream).SetMsgMarshaler(nil, GetMarshaler(kSearchResult))
|
||||
(*outputStream).Start()
|
||||
|
||||
//send msgPack
|
||||
(*inputStream).Produce(&msgPack)
|
||||
//(*outputStream).Start()
|
||||
|
||||
// receive msg
|
||||
receiveCount := 0
|
||||
for {
|
||||
result := (*outputStream).Consume()
|
||||
if len(result.Msgs) > 0 {
|
||||
msgs := result.Msgs
|
||||
for _, v := range msgs {
|
||||
receiveCount++
|
||||
fmt.Println("msg type: ", (*v).Type(), ", msg value: ", *v)
|
||||
}
|
||||
}
|
||||
if receiveCount >= len(msgPack.Msgs) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewStream_TimeSync(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"timeSync1", "timeSync2"}
|
||||
consumerChannels := []string{"timeSync1", "timeSync2"}
|
||||
consumerSubName := "subInsert"
|
||||
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kTimeSync, 0, 0))
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kTimeSync, 1, 1))
|
||||
inputStream := NewInputStream(pulsarAddress, producerChannels, false)
|
||||
outputStream := NewOutputStream(pulsarAddress, 100, 100, consumerChannels, consumerSubName, false)
|
||||
|
||||
(*inputStream).SetMsgMarshaler(GetMarshaler(kTimeSync), nil)
|
||||
(*inputStream).SetRepackFunc(repackFunc)
|
||||
(*outputStream).SetMsgMarshaler(nil, GetMarshaler(kTimeSync))
|
||||
(*outputStream).Start()
|
||||
|
||||
//send msgPack
|
||||
(*inputStream).Produce(&msgPack)
|
||||
|
||||
// receive msg
|
||||
receiveCount := 0
|
||||
for {
|
||||
result := (*outputStream).Consume()
|
||||
if len(result.Msgs) > 0 {
|
||||
msgs := result.Msgs
|
||||
for _, v := range msgs {
|
||||
receiveCount++
|
||||
fmt.Println("msg type: ", (*v).Type(), ", msg value: ", *v)
|
||||
}
|
||||
}
|
||||
if receiveCount >= len(msgPack.Msgs) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewStream_Insert_TimeTick(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"insert"}
|
||||
consumerChannels := []string{"insert"}
|
||||
consumerSubName := "subInsert"
|
||||
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kInsert, 0, 0))
|
||||
msgPack.Msgs = append(msgPack.Msgs, getTsMsg(kInsert, 1, 1))
|
||||
|
||||
insertRequest := internalPb.InsertRequest{
|
||||
ReqType: internalPb.ReqType_kTimeTick,
|
||||
ReqId: 2,
|
||||
CollectionName: "Collection",
|
||||
PartitionTag: "Partition",
|
||||
SegmentId: 1,
|
||||
ChannelId: 1,
|
||||
ProxyId: 1,
|
||||
Timestamps: []uint64{1},
|
||||
}
|
||||
insertMsg := InsertTask{
|
||||
HashValues: []int32{2},
|
||||
InsertRequest: insertRequest,
|
||||
}
|
||||
var tsMsg TsMsg = insertMsg
|
||||
msgPack.Msgs = append(msgPack.Msgs, &tsMsg)
|
||||
|
||||
inputStream := NewInputStream(pulsarAddress, producerChannels, false)
|
||||
outputStream := NewOutputStream(pulsarAddress, 100, 100, consumerChannels, consumerSubName, true)
|
||||
|
||||
(*inputStream).SetMsgMarshaler(GetMarshaler(kInsert), nil)
|
||||
(*inputStream).SetRepackFunc(repackFunc)
|
||||
(*outputStream).SetMsgMarshaler(nil, GetMarshaler(kInsert))
|
||||
(*outputStream).Start()
|
||||
|
||||
//send msgPack
|
||||
(*inputStream).Produce(&msgPack)
|
||||
|
||||
// receive msg
|
||||
receiveCount := 0
|
||||
for {
|
||||
result := (*outputStream).Consume()
|
||||
if len(result.Msgs) > 0 {
|
||||
msgs := result.Msgs
|
||||
for _, v := range msgs {
|
||||
receiveCount++
|
||||
fmt.Println("msg type: ", (*v).Type(), ", msg value: ", *v)
|
||||
}
|
||||
}
|
||||
if receiveCount + 1 >= len(msgPack.Msgs) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,215 +0,0 @@
|
|||
package msgstream
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
commonPb "github.com/zilliztech/milvus-distributed/internal/proto/commonpb"
|
||||
internalPb "github.com/zilliztech/milvus-distributed/internal/proto/internalpb"
|
||||
"github.com/zilliztech/milvus-distributed/internal/util/typeutil"
|
||||
"log"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func produceHashTopic(input *MsgPack) map[uint32]*MsgPack {
|
||||
msgs := input.Msgs
|
||||
result := make(map[uint32]*MsgPack)
|
||||
count := len(msgs)
|
||||
for i := 0; i < count; i++ {
|
||||
var key uint32
|
||||
var err error
|
||||
switch (*msgs[i]).Type() {
|
||||
case kInsert:
|
||||
var insertMsg InsertTask = (*msgs[i]).(InsertTask)
|
||||
key, err = typeutil.Hash32Int64(insertMsg.ReqId)
|
||||
case kDelete:
|
||||
var deleteMsg DeleteTask = (*msgs[i]).(DeleteTask)
|
||||
key, err = typeutil.Hash32Int64(deleteMsg.ReqId)
|
||||
case kSearch:
|
||||
var searchMsg SearchTask = (*msgs[i]).(SearchTask)
|
||||
key, err = typeutil.Hash32Int64(searchMsg.ReqId)
|
||||
case kSearchResult:
|
||||
var searchResultMsg SearchResultTask = (*msgs[i]).(SearchResultTask)
|
||||
key, err = typeutil.Hash32Int64(searchResultMsg.ReqId)
|
||||
case kTimeSync:
|
||||
var timeSyncMsg TimeSyncTask = (*msgs[i]).(TimeSyncTask)
|
||||
key, err = typeutil.Hash32Int64(timeSyncMsg.PeerId)
|
||||
default:
|
||||
log.Fatal("con't find msgType")
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
_, ok := result[key]
|
||||
if ok == false {
|
||||
msgPack := MsgPack{}
|
||||
result[key] = &msgPack
|
||||
}
|
||||
result[key].Msgs = append(result[key].Msgs, msgs[i])
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func baseTest(pulsarAddress string,
|
||||
producerChannels []string,
|
||||
consumerChannels []string,
|
||||
consumerSubName string,
|
||||
msgPack *MsgPack,
|
||||
inputMsgType MsgType,
|
||||
outputMsgType MsgType) {
|
||||
|
||||
// set input stream
|
||||
inputStream := PulsarMsgStream{}
|
||||
inputStream.SetPulsarCient(pulsarAddress)
|
||||
inputStream.SetMsgMarshaler(GetMarshaler(inputMsgType), nil)
|
||||
inputStream.SetProducers(producerChannels)
|
||||
inputStream.SetHashFunc(produceHashTopic)
|
||||
|
||||
// set output stream
|
||||
outputStream := PulsarMsgStream{}
|
||||
outputStream.SetPulsarCient(pulsarAddress)
|
||||
outputStream.SetMsgMarshaler(nil, GetMarshaler(outputMsgType))
|
||||
outputStream.SetConsumers(consumerChannels, consumerSubName)
|
||||
|
||||
//send msgPack
|
||||
inputStream.Produce(msgPack)
|
||||
|
||||
// receive msg
|
||||
for {
|
||||
result := outputStream.Consume()
|
||||
if len(result.Msgs) > 0 {
|
||||
msgs := result.Msgs
|
||||
for _, v := range msgs {
|
||||
fmt.Println("msg type: ", (*v).Type(), ", msg value: ", *v)
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestStream_Insert(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"insert"}
|
||||
consumerChannels := []string{"insert"}
|
||||
consumerSubName := "subInsert"
|
||||
|
||||
//pack tsmsg
|
||||
insertRequest := internalPb.InsertRequest{
|
||||
ReqType: internalPb.ReqType_kInsert,
|
||||
ReqId: 1,
|
||||
CollectionName: "Collection",
|
||||
PartitionTag: "Partition",
|
||||
SegmentId: 1,
|
||||
ChannelId: 1,
|
||||
ProxyId: 1,
|
||||
Timestamp: 1,
|
||||
}
|
||||
insertMsg := InsertTask{
|
||||
insertRequest,
|
||||
}
|
||||
var tsMsg TsMsg = insertMsg
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, &tsMsg)
|
||||
|
||||
//run stream
|
||||
baseTest(pulsarAddress, producerChannels, consumerChannels, consumerSubName, &msgPack, kInsert, kInsert)
|
||||
}
|
||||
|
||||
func TestStream_Delete(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"delete"}
|
||||
consumerChannels := []string{"delete"}
|
||||
consumerSubName := "subDelete"
|
||||
|
||||
//pack tsmsg
|
||||
deleteRequest := internalPb.DeleteRequest{
|
||||
ReqType: internalPb.ReqType_kInsert,
|
||||
ReqId: 1,
|
||||
CollectionName: "Collection",
|
||||
ChannelId: 1,
|
||||
ProxyId: 1,
|
||||
Timestamp: 1,
|
||||
PrimaryKeys: []int64{1},
|
||||
}
|
||||
deleteMsg := DeleteTask{
|
||||
deleteRequest,
|
||||
}
|
||||
var tsMsg TsMsg = deleteMsg
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, &tsMsg)
|
||||
|
||||
//run stream
|
||||
baseTest(pulsarAddress, producerChannels, consumerChannels, consumerSubName, &msgPack, kDelete, kDelete)
|
||||
}
|
||||
|
||||
func TestStream_Search(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"search"}
|
||||
consumerChannels := []string{"search"}
|
||||
consumerSubName := "subSearch"
|
||||
|
||||
//pack tsmsg
|
||||
searchRequest := internalPb.SearchRequest{
|
||||
ReqType: internalPb.ReqType_kSearch,
|
||||
ReqId: 1,
|
||||
ProxyId: 1,
|
||||
Timestamp: 1,
|
||||
ResultChannelId: 1,
|
||||
}
|
||||
searchMsg := SearchTask{
|
||||
searchRequest,
|
||||
}
|
||||
var tsMsg TsMsg = searchMsg
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, &tsMsg)
|
||||
|
||||
//run stream
|
||||
baseTest(pulsarAddress, producerChannels, consumerChannels, consumerSubName, &msgPack, kSearch, kSearch)
|
||||
}
|
||||
|
||||
func TestStream_SearchResult(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"search"}
|
||||
consumerChannels := []string{"search"}
|
||||
consumerSubName := "subSearch"
|
||||
|
||||
//pack tsmsg
|
||||
searchResult := internalPb.SearchResult{
|
||||
Status: &commonPb.Status{ErrorCode: commonPb.ErrorCode_SUCCESS},
|
||||
ReqId: 1,
|
||||
ProxyId: 1,
|
||||
QueryNodeId: 1,
|
||||
Timestamp: 1,
|
||||
ResultChannelId: 1,
|
||||
}
|
||||
searchResultMsg := SearchResultTask{
|
||||
searchResult,
|
||||
}
|
||||
var tsMsg TsMsg = searchResultMsg
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, &tsMsg)
|
||||
|
||||
//run stream
|
||||
baseTest(pulsarAddress, producerChannels, consumerChannels, consumerSubName, &msgPack, kSearchResult, kSearchResult)
|
||||
}
|
||||
|
||||
func TestStream_TimeSync(t *testing.T) {
|
||||
pulsarAddress := "pulsar://localhost:6650"
|
||||
producerChannels := []string{"search"}
|
||||
consumerChannels := []string{"search"}
|
||||
consumerSubName := "subSearch"
|
||||
|
||||
//pack tsmsg
|
||||
timeSyncResult := internalPb.TimeSyncMsg{
|
||||
PeerId: 1,
|
||||
Timestamp: 1,
|
||||
}
|
||||
timeSyncMsg := TimeSyncTask{
|
||||
timeSyncResult,
|
||||
}
|
||||
var tsMsg TsMsg = timeSyncMsg
|
||||
msgPack := MsgPack{}
|
||||
msgPack.Msgs = append(msgPack.Msgs, &tsMsg)
|
||||
|
||||
//run stream
|
||||
baseTest(pulsarAddress, producerChannels, consumerChannels, consumerSubName, &msgPack, kTimeSync, kTimeSync)
|
||||
}
|
|
@ -7,125 +7,218 @@ import (
|
|||
type MsgType uint32
|
||||
|
||||
const (
|
||||
kInsert MsgType = 1
|
||||
kDelete MsgType = 2
|
||||
kSearch MsgType = 3
|
||||
kSearchResult MsgType = 4
|
||||
kTimeTick MsgType = 5
|
||||
kSegmentStatics MsgType = 6
|
||||
kTimeSync MsgType = 7
|
||||
kInsert MsgType = 400
|
||||
kDelete MsgType = 401
|
||||
kSearch MsgType = 500
|
||||
kSearchResult MsgType = 1000
|
||||
|
||||
kSegmentStatics MsgType = 1100
|
||||
kTimeTick MsgType = 1200
|
||||
kTimeSync MsgType = 1201
|
||||
)
|
||||
|
||||
type TsMsg interface {
|
||||
SetTs(ts TimeStamp)
|
||||
Ts() TimeStamp
|
||||
SetTs(ts Timestamp)
|
||||
BeginTs() Timestamp
|
||||
EndTs() Timestamp
|
||||
Type() MsgType
|
||||
HashKeys() []int32
|
||||
}
|
||||
|
||||
/////////////////////////////////////////Insert//////////////////////////////////////////
|
||||
type InsertTask struct {
|
||||
HashValues []int32
|
||||
internalPb.InsertRequest
|
||||
}
|
||||
|
||||
func (it InsertTask) SetTs(ts TimeStamp) {
|
||||
it.Timestamp = uint64(ts)
|
||||
func (it InsertTask) SetTs(ts Timestamp) {
|
||||
// TODO::
|
||||
}
|
||||
|
||||
func (it InsertTask) Ts() TimeStamp {
|
||||
return TimeStamp(it.Timestamp)
|
||||
func (it InsertTask) BeginTs() Timestamp {
|
||||
timestamps := it.Timestamps
|
||||
var beginTs Timestamp
|
||||
for _, v := range timestamps {
|
||||
beginTs = Timestamp(v)
|
||||
break
|
||||
}
|
||||
for _, v := range timestamps {
|
||||
if beginTs > Timestamp(v) {
|
||||
beginTs = Timestamp(v)
|
||||
}
|
||||
}
|
||||
return beginTs
|
||||
}
|
||||
|
||||
func (it InsertTask) EndTs() Timestamp {
|
||||
timestamps := it.Timestamps
|
||||
var endTs Timestamp
|
||||
for _, v := range timestamps {
|
||||
endTs = Timestamp(v)
|
||||
break
|
||||
}
|
||||
for _, v := range timestamps {
|
||||
if endTs < Timestamp(v) {
|
||||
endTs = Timestamp(v)
|
||||
}
|
||||
}
|
||||
return endTs
|
||||
}
|
||||
|
||||
func (it InsertTask) Type() MsgType {
|
||||
if it.ReqType == internalPb.ReqType_kNone {
|
||||
return kTimeTick
|
||||
if it.ReqType == internalPb.ReqType_kTimeTick {
|
||||
return kTimeSync
|
||||
}
|
||||
return kInsert
|
||||
}
|
||||
|
||||
func (it InsertTask) HashKeys() []int32 {
|
||||
return it.HashValues
|
||||
}
|
||||
|
||||
/////////////////////////////////////////Delete//////////////////////////////////////////
|
||||
type DeleteTask struct {
|
||||
HashValues []int32
|
||||
internalPb.DeleteRequest
|
||||
}
|
||||
|
||||
func (dt DeleteTask) SetTs(ts TimeStamp) {
|
||||
dt.Timestamp = uint64(ts)
|
||||
func (dt DeleteTask) SetTs(ts Timestamp) {
|
||||
// TODO::
|
||||
}
|
||||
|
||||
func (dt DeleteTask) Ts() TimeStamp {
|
||||
return TimeStamp(dt.Timestamp)
|
||||
func (dt DeleteTask) BeginTs() Timestamp {
|
||||
timestamps := dt.Timestamps
|
||||
var beginTs Timestamp
|
||||
for _, v := range timestamps {
|
||||
beginTs = Timestamp(v)
|
||||
break
|
||||
}
|
||||
for _, v := range timestamps {
|
||||
if beginTs > Timestamp(v) {
|
||||
beginTs = Timestamp(v)
|
||||
}
|
||||
}
|
||||
return beginTs
|
||||
}
|
||||
|
||||
func (dt DeleteTask) EndTs() Timestamp {
|
||||
timestamps := dt.Timestamps
|
||||
var endTs Timestamp
|
||||
for _, v := range timestamps {
|
||||
endTs = Timestamp(v)
|
||||
break
|
||||
}
|
||||
for _, v := range timestamps {
|
||||
if endTs < Timestamp(v) {
|
||||
endTs = Timestamp(v)
|
||||
}
|
||||
}
|
||||
return endTs
|
||||
}
|
||||
|
||||
func (dt DeleteTask) Type() MsgType {
|
||||
if dt.ReqType == internalPb.ReqType_kNone {
|
||||
return kTimeTick
|
||||
if dt.ReqType == internalPb.ReqType_kTimeTick {
|
||||
return kTimeSync
|
||||
}
|
||||
return kDelete
|
||||
}
|
||||
|
||||
func (dt DeleteTask) HashKeys() []int32 {
|
||||
return dt.HashValues
|
||||
}
|
||||
|
||||
/////////////////////////////////////////Search//////////////////////////////////////////
|
||||
type SearchTask struct {
|
||||
HashValues []int32
|
||||
internalPb.SearchRequest
|
||||
}
|
||||
|
||||
func (st SearchTask) SetTs(ts TimeStamp) {
|
||||
func (st SearchTask) SetTs(ts Timestamp) {
|
||||
st.Timestamp = uint64(ts)
|
||||
}
|
||||
|
||||
func (st SearchTask) Ts() TimeStamp {
|
||||
return TimeStamp(st.Timestamp)
|
||||
func (st SearchTask) BeginTs() Timestamp {
|
||||
return Timestamp(st.Timestamp)
|
||||
}
|
||||
|
||||
func (st SearchTask) EndTs() Timestamp {
|
||||
return Timestamp(st.Timestamp)
|
||||
}
|
||||
|
||||
func (st SearchTask) Type() MsgType {
|
||||
if st.ReqType == internalPb.ReqType_kNone {
|
||||
return kTimeTick
|
||||
if st.ReqType == internalPb.ReqType_kTimeTick {
|
||||
return kTimeSync
|
||||
}
|
||||
return kSearch
|
||||
}
|
||||
|
||||
func (st SearchTask) HashKeys() []int32 {
|
||||
return st.HashValues
|
||||
}
|
||||
|
||||
/////////////////////////////////////////SearchResult//////////////////////////////////////////
|
||||
type SearchResultTask struct {
|
||||
HashValues []int32
|
||||
internalPb.SearchResult
|
||||
}
|
||||
|
||||
func (srt SearchResultTask) SetTs(ts TimeStamp) {
|
||||
func (srt SearchResultTask) SetTs(ts Timestamp) {
|
||||
srt.Timestamp = uint64(ts)
|
||||
}
|
||||
|
||||
func (srt SearchResultTask) Ts() TimeStamp {
|
||||
return TimeStamp(srt.Timestamp)
|
||||
func (srt SearchResultTask) BeginTs() Timestamp {
|
||||
return Timestamp(srt.Timestamp)
|
||||
}
|
||||
|
||||
func (srt SearchResultTask) EndTs() Timestamp {
|
||||
return Timestamp(srt.Timestamp)
|
||||
}
|
||||
|
||||
func (srt SearchResultTask) Type() MsgType {
|
||||
return kSearchResult
|
||||
}
|
||||
|
||||
func (srt SearchResultTask) HashKeys() []int32 {
|
||||
return srt.HashValues
|
||||
}
|
||||
|
||||
/////////////////////////////////////////TimeSync//////////////////////////////////////////
|
||||
type TimeSyncTask struct {
|
||||
HashValues []int32
|
||||
internalPb.TimeSyncMsg
|
||||
}
|
||||
|
||||
func (tst TimeSyncTask) SetTs(ts TimeStamp) {
|
||||
func (tst TimeSyncTask) SetTs(ts Timestamp) {
|
||||
tst.Timestamp = uint64(ts)
|
||||
}
|
||||
|
||||
func (tst TimeSyncTask) Ts() TimeStamp {
|
||||
return TimeStamp(tst.Timestamp)
|
||||
func (tst TimeSyncTask) BeginTs() Timestamp {
|
||||
return Timestamp(tst.Timestamp)
|
||||
}
|
||||
|
||||
func (tst TimeSyncTask) EndTs() Timestamp {
|
||||
return Timestamp(tst.Timestamp)
|
||||
}
|
||||
|
||||
func (tst TimeSyncTask) Type() MsgType {
|
||||
return kTimeSync
|
||||
}
|
||||
|
||||
func (tst TimeSyncTask) HashKeys() []int32 {
|
||||
return tst.HashValues
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////Key2Seg//////////////////////////////////////////
|
||||
//type Key2SegTask struct {
|
||||
// internalPb.Key2SegMsg
|
||||
//}
|
||||
//
|
||||
////TODO::Key2SegMsg don't have timestamp
|
||||
//func (k2st Key2SegTask) SetTs(ts TimeStamp) {}
|
||||
//func (k2st Key2SegTask) SetTs(ts Timestamp) {}
|
||||
//
|
||||
//func (k2st Key2SegTask) Ts() TimeStamp {
|
||||
// return TimeStamp(0)
|
||||
//func (k2st Key2SegTask) Ts() Timestamp {
|
||||
// return Timestamp(0)
|
||||
//}
|
||||
//
|
||||
//func (k2st Key2SegTask) Type() MsgType {
|
||||
|
|
|
@ -167,7 +167,7 @@ message DeleteRequest {
|
|||
string collection_name = 3;
|
||||
int64 channel_id = 4;
|
||||
int64 proxy_id = 5;
|
||||
repeated uint64 timestamp = 6;
|
||||
repeated uint64 timestamps = 6;
|
||||
repeated int64 primary_keys = 7;
|
||||
}
|
||||
|
||||
|
|
|
@ -1051,7 +1051,7 @@ type DeleteRequest struct {
|
|||
CollectionName string `protobuf:"bytes,3,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
|
||||
ChannelId int64 `protobuf:"varint,4,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
|
||||
ProxyId int64 `protobuf:"varint,5,opt,name=proxy_id,json=proxyId,proto3" json:"proxy_id,omitempty"`
|
||||
Timestamp []uint64 `protobuf:"varint,6,rep,packed,name=timestamp,proto3" json:"timestamp,omitempty"`
|
||||
Timestamps []uint64 `protobuf:"varint,6,rep,packed,name=timestamps,proto3" json:"timestamps,omitempty"`
|
||||
PrimaryKeys []int64 `protobuf:"varint,7,rep,packed,name=primary_keys,json=primaryKeys,proto3" json:"primary_keys,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1118,9 +1118,9 @@ func (m *DeleteRequest) GetProxyId() int64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
func (m *DeleteRequest) GetTimestamp() []uint64 {
|
||||
func (m *DeleteRequest) GetTimestamps() []uint64 {
|
||||
if m != nil {
|
||||
return m.Timestamp
|
||||
return m.Timestamps
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -1546,77 +1546,77 @@ func init() {
|
|||
func init() { proto.RegisterFile("internal_msg.proto", fileDescriptor_7eb37f6b80b23116) }
|
||||
|
||||
var fileDescriptor_7eb37f6b80b23116 = []byte{
|
||||
// 1150 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4b, 0x6f, 0x23, 0x45,
|
||||
0x10, 0xde, 0xf1, 0xdb, 0xe5, 0xd8, 0x99, 0x74, 0x62, 0xe2, 0x5d, 0x60, 0xd7, 0xcc, 0x22, 0x11,
|
||||
0xad, 0x84, 0x23, 0xbc, 0x1c, 0xd8, 0xeb, 0xc6, 0x87, 0x98, 0x55, 0xa2, 0x68, 0x1c, 0x81, 0x84,
|
||||
0x84, 0x46, 0xe3, 0x99, 0xc2, 0x6e, 0xcd, 0x33, 0xdd, 0xed, 0x04, 0xe7, 0xce, 0x1d, 0xc4, 0x91,
|
||||
0x1b, 0x67, 0x0e, 0xfc, 0x0c, 0x5e, 0x77, 0xfe, 0x04, 0x08, 0x56, 0x02, 0xed, 0x15, 0x75, 0xcf,
|
||||
0xf8, 0x31, 0xce, 0x83, 0x87, 0x58, 0x29, 0x52, 0x6e, 0x53, 0xd5, 0xd5, 0xdd, 0xf5, 0x7d, 0x55,
|
||||
0x5d, 0xae, 0x32, 0x10, 0x1a, 0x0a, 0x64, 0xa1, 0xed, 0x5b, 0x01, 0x1f, 0x75, 0x62, 0x16, 0x89,
|
||||
0x88, 0x34, 0x03, 0xea, 0x9f, 0x4e, 0x78, 0x22, 0x75, 0x66, 0x06, 0xf7, 0xd6, 0x9c, 0x28, 0x08,
|
||||
0xa2, 0x30, 0x51, 0xdf, 0xdb, 0xe0, 0xc8, 0x4e, 0xa9, 0x83, 0x8b, 0x7d, 0x46, 0x0c, 0x70, 0xcc,
|
||||
0x23, 0x13, 0x4f, 0x26, 0xc8, 0x05, 0xd9, 0x86, 0x72, 0x8c, 0xc8, 0x2c, 0xea, 0xb6, 0xb4, 0xb6,
|
||||
0xb6, 0x93, 0x37, 0x4b, 0x52, 0xec, 0xbb, 0xe4, 0x31, 0x14, 0x58, 0xe4, 0x63, 0x2b, 0xd7, 0xd6,
|
||||
0x76, 0x1a, 0xdd, 0x07, 0x9d, 0x4b, 0x6f, 0xeb, 0x1c, 0x21, 0x32, 0x33, 0xf2, 0xd1, 0x54, 0xc6,
|
||||
0x64, 0x0b, 0x8a, 0x4e, 0x34, 0x09, 0x45, 0x2b, 0xdf, 0xd6, 0x76, 0xea, 0x66, 0x22, 0x18, 0xa7,
|
||||
0x50, 0x53, 0x37, 0xf2, 0x38, 0x0a, 0x39, 0x92, 0xc7, 0x50, 0xe2, 0xc2, 0x16, 0x13, 0xae, 0x6e,
|
||||
0xac, 0x75, 0x5f, 0xcd, 0x9e, 0x9d, 0xfa, 0x3f, 0x50, 0x26, 0x66, 0x6a, 0x4a, 0x5e, 0x83, 0xaa,
|
||||
0xa0, 0x01, 0x72, 0x61, 0x07, 0xb1, 0xf2, 0xa9, 0x60, 0x2e, 0x14, 0x57, 0xdc, 0xfb, 0xb3, 0x06,
|
||||
0xdb, 0x7b, 0x0c, 0x6d, 0x81, 0x7b, 0x91, 0xef, 0xa3, 0x23, 0x68, 0x14, 0xce, 0x70, 0x3f, 0x81,
|
||||
0x0a, 0xc3, 0x13, 0x4b, 0x4c, 0x63, 0x54, 0x6e, 0x34, 0xba, 0xf7, 0xaf, 0x80, 0x68, 0xe2, 0xc9,
|
||||
0xf1, 0x34, 0x46, 0xb3, 0xcc, 0x92, 0x0f, 0xd2, 0x84, 0x92, 0xdc, 0x4a, 0x5d, 0xe5, 0x47, 0xde,
|
||||
0x2c, 0x32, 0x3c, 0xe9, 0xbb, 0x59, 0x0f, 0xf3, 0xab, 0x1e, 0xde, 0x85, 0x4a, 0xcc, 0xa2, 0x4f,
|
||||
0xa7, 0x72, 0x5b, 0x41, 0x6d, 0x2b, 0x2b, 0xb9, 0xef, 0x92, 0x77, 0xa0, 0xc4, 0x9d, 0x31, 0x06,
|
||||
0x76, 0xab, 0xa8, 0xf8, 0xb8, 0x7b, 0x29, 0x1f, 0x4f, 0xfd, 0x68, 0x68, 0xa6, 0x86, 0xc6, 0x73,
|
||||
0x0d, 0x9a, 0x3d, 0x16, 0xc5, 0x37, 0x1a, 0xd7, 0x01, 0xac, 0x3b, 0x73, 0xff, 0xac, 0xd0, 0x0e,
|
||||
0x30, 0x05, 0xf8, 0x66, 0xd6, 0xa3, 0x34, 0x45, 0x3b, 0x0b, 0x30, 0x87, 0x76, 0x80, 0x66, 0xc3,
|
||||
0xc9, 0xc8, 0xc6, 0xef, 0x1a, 0x6c, 0xed, 0xdb, 0xfc, 0x36, 0x41, 0xfe, 0x53, 0x83, 0xbb, 0x3d,
|
||||
0xe4, 0x0e, 0xa3, 0x43, 0xbc, 0x4d, 0xb8, 0xbf, 0xd6, 0xa0, 0x39, 0x18, 0x47, 0x67, 0x37, 0x19,
|
||||
0xb3, 0xf1, 0x9b, 0x06, 0xaf, 0x24, 0xd5, 0xe5, 0xc8, 0x66, 0x82, 0xde, 0xd0, 0xc8, 0xbc, 0x0f,
|
||||
0x8d, 0x78, 0xe6, 0xde, 0x72, 0x60, 0x1e, 0x5e, 0x1e, 0x98, 0x39, 0x14, 0x15, 0x97, 0x7a, 0xbc,
|
||||
0x2c, 0x1a, 0xbf, 0x6a, 0xb0, 0x25, 0xab, 0xce, 0x6d, 0xc1, 0xfb, 0x8b, 0x06, 0x9b, 0xfb, 0x36,
|
||||
0xbf, 0x2d, 0x70, 0x9f, 0x6b, 0xd0, 0x9a, 0x55, 0x9b, 0xdb, 0x82, 0x59, 0xfe, 0xa8, 0xc8, 0x4a,
|
||||
0x73, 0x93, 0xf1, 0xfe, 0xcf, 0xc5, 0xf5, 0x45, 0x0e, 0xea, 0xfd, 0x90, 0x23, 0x13, 0x2f, 0x0f,
|
||||
0xeb, 0x5b, 0x17, 0x5d, 0x96, 0x88, 0xab, 0xab, 0xce, 0x90, 0x87, 0xb0, 0x08, 0x88, 0x25, 0xec,
|
||||
0x91, 0xc2, 0x5e, 0x35, 0xd7, 0xe6, 0xca, 0x63, 0x7b, 0x44, 0x5e, 0x07, 0xe0, 0x38, 0x0a, 0x30,
|
||||
0x14, 0xf2, 0xa2, 0xa2, 0xba, 0xa8, 0x9a, 0x6a, 0xfa, 0xae, 0x5c, 0x76, 0xc6, 0x76, 0x18, 0xa2,
|
||||
0x2f, 0x97, 0x4b, 0xc9, 0x72, 0xaa, 0xe9, 0xbb, 0x19, 0x66, 0xcb, 0x59, 0x66, 0xef, 0x03, 0xcc,
|
||||
0x23, 0xc0, 0x5b, 0x95, 0x76, 0x7e, 0xa7, 0x60, 0x2e, 0x69, 0x64, 0x73, 0xcc, 0xa2, 0x33, 0x8b,
|
||||
0xba, 0xbc, 0x55, 0x6d, 0xe7, 0x65, 0x73, 0xcc, 0xa2, 0xb3, 0xbe, 0xcb, 0xc9, 0xbb, 0x50, 0x91,
|
||||
0x0b, 0xae, 0x2d, 0xec, 0x16, 0xb4, 0xf3, 0xd7, 0x37, 0x6d, 0xf2, 0x8c, 0x9e, 0x2d, 0x6c, 0xe3,
|
||||
0xb3, 0x1c, 0xd4, 0x7b, 0xe8, 0xa3, 0xc0, 0x1b, 0xc0, 0x7c, 0x96, 0xb5, 0xc2, 0x75, 0xac, 0x15,
|
||||
0xb3, 0xac, 0x65, 0x12, 0xb9, 0xa4, 0x48, 0x5b, 0x4a, 0xe4, 0x37, 0x60, 0x2d, 0x66, 0x34, 0xb0,
|
||||
0xd9, 0xd4, 0xf2, 0x70, 0xca, 0x5b, 0x65, 0x45, 0x5c, 0x2d, 0xd5, 0x3d, 0xc3, 0x29, 0x37, 0x5e,
|
||||
0x68, 0x50, 0x1f, 0xa0, 0xcd, 0x9c, 0xf1, 0xcb, 0xe3, 0x61, 0xd9, 0xff, 0xfc, 0x35, 0xfe, 0x17,
|
||||
0x56, 0x1f, 0xe2, 0x23, 0xd8, 0x60, 0xc8, 0x27, 0xbe, 0xb0, 0x96, 0xe8, 0x49, 0x18, 0x58, 0x4f,
|
||||
0x16, 0xf6, 0xe6, 0x24, 0xed, 0x42, 0xf1, 0x64, 0x82, 0x6c, 0xaa, 0x92, 0xee, 0xda, 0x1c, 0x48,
|
||||
0xec, 0x8c, 0x2f, 0x73, 0xb0, 0x36, 0x43, 0x2e, 0x8f, 0xfa, 0x6f, 0xb3, 0xd0, 0xbf, 0x87, 0x6c,
|
||||
0x40, 0x5d, 0x39, 0x60, 0x85, 0x91, 0x8b, 0x8b, 0x78, 0xd7, 0x94, 0xf2, 0x30, 0x72, 0x71, 0x95,
|
||||
0x96, 0xe2, 0x3f, 0xa2, 0xa5, 0x74, 0x39, 0x2d, 0x1d, 0x28, 0x8c, 0xa9, 0x48, 0x42, 0x5f, 0xeb,
|
||||
0xde, 0xbb, 0xbc, 0x4a, 0xed, 0x53, 0xc1, 0x4d, 0x65, 0x67, 0xf4, 0xa0, 0x76, 0x4c, 0x03, 0x1c,
|
||||
0x4c, 0x43, 0xe7, 0x80, 0x8f, 0xae, 0x1e, 0x49, 0xaf, 0x9d, 0x01, 0x8d, 0xaf, 0x34, 0x28, 0x3f,
|
||||
0xc3, 0x69, 0x77, 0x80, 0x23, 0xc5, 0x90, 0x7a, 0xb8, 0xe9, 0x09, 0x45, 0xf5, 0x6e, 0xc9, 0x03,
|
||||
0xa8, 0x2d, 0xe5, 0x66, 0xca, 0x1e, 0x2c, 0x52, 0xf3, 0xef, 0x6b, 0x34, 0xe5, 0xd6, 0xa9, 0xed,
|
||||
0xa7, 0x04, 0x56, 0xcc, 0x32, 0xe5, 0x1f, 0x48, 0x51, 0x9e, 0xbc, 0x28, 0x51, 0xbc, 0x55, 0x54,
|
||||
0x49, 0x0f, 0xf3, 0x1a, 0xc5, 0x8d, 0x8f, 0x01, 0x52, 0xe7, 0x24, 0xc4, 0x45, 0x04, 0xb5, 0xe5,
|
||||
0x08, 0xbe, 0x07, 0x65, 0x0f, 0xa7, 0x5d, 0x8e, 0xa3, 0x56, 0x4e, 0x71, 0x77, 0xd5, 0x2b, 0x48,
|
||||
0x8f, 0x32, 0x67, 0xe6, 0x46, 0x08, 0x1b, 0x83, 0xe4, 0x32, 0x99, 0x2b, 0x94, 0x0b, 0xea, 0xf0,
|
||||
0x95, 0xba, 0xa9, 0xad, 0xd6, 0xcd, 0x07, 0x50, 0x0b, 0x30, 0x88, 0xd8, 0xd4, 0xe2, 0xf4, 0x1c,
|
||||
0x67, 0x6c, 0x24, 0xaa, 0x01, 0x3d, 0x47, 0x89, 0x37, 0x9c, 0x04, 0x16, 0x8b, 0xce, 0xf8, 0x2c,
|
||||
0xa1, 0xc2, 0x49, 0x60, 0x46, 0x67, 0xfc, 0xd1, 0x37, 0x39, 0x28, 0xa7, 0x4f, 0x91, 0x54, 0xa1,
|
||||
0xe8, 0x1d, 0x46, 0x21, 0xea, 0x77, 0x48, 0x13, 0x36, 0xbc, 0xd5, 0x89, 0x5b, 0x77, 0xc9, 0x26,
|
||||
0xac, 0x7b, 0xd9, 0x71, 0x55, 0x47, 0x42, 0xa0, 0xe1, 0x65, 0xe6, 0x39, 0xfd, 0x13, 0xb2, 0x0d,
|
||||
0x9b, 0xde, 0xc5, 0x81, 0x47, 0x1f, 0x91, 0x2d, 0xd0, 0xbd, 0xec, 0x44, 0xc0, 0xf5, 0x31, 0x69,
|
||||
0x82, 0xee, 0xad, 0xb4, 0xe0, 0xfa, 0x77, 0x1a, 0xd9, 0x84, 0x86, 0x97, 0xe9, 0x53, 0xf5, 0xef,
|
||||
0x35, 0x42, 0xa0, 0xee, 0x2d, 0x37, 0x73, 0xfa, 0x0f, 0x1a, 0xd9, 0x06, 0xe2, 0x5d, 0xe8, 0x78,
|
||||
0xf4, 0x1f, 0x35, 0xb2, 0x05, 0xeb, 0x5e, 0xa6, 0x2d, 0xe0, 0xfa, 0x4f, 0x1a, 0x59, 0x83, 0xb2,
|
||||
0x97, 0xfc, 0x72, 0xea, 0x9f, 0xe7, 0x95, 0x94, 0x54, 0x73, 0xfd, 0x8b, 0x44, 0x4a, 0x5e, 0xb6,
|
||||
0xfe, 0x47, 0x9e, 0x34, 0xa0, 0xea, 0xc9, 0x94, 0x3e, 0xa6, 0x8e, 0xa7, 0x7f, 0x5b, 0x7d, 0xf4,
|
||||
0x04, 0x2a, 0xb3, 0x7f, 0x4a, 0x08, 0x40, 0xe9, 0xc0, 0xe6, 0x02, 0x99, 0x7e, 0x47, 0x7e, 0x9b,
|
||||
0x68, 0xbb, 0xc8, 0x74, 0x4d, 0x7e, 0x7f, 0xc8, 0xa8, 0xd4, 0xe7, 0x24, 0xa5, 0x47, 0xf2, 0xe9,
|
||||
0xea, 0xf9, 0xa7, 0xbd, 0x8f, 0x9e, 0x8e, 0xa8, 0x18, 0x4f, 0x86, 0xb2, 0x18, 0xec, 0x9e, 0x53,
|
||||
0xdf, 0xa7, 0xe7, 0x02, 0x9d, 0xf1, 0x6e, 0x92, 0x19, 0x6f, 0xbb, 0x94, 0x0b, 0x46, 0x87, 0x13,
|
||||
0x81, 0xee, 0xee, 0x2c, 0x3f, 0x76, 0x55, 0xba, 0xcc, 0xc5, 0x78, 0x38, 0x2c, 0x29, 0xcd, 0xe3,
|
||||
0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x8d, 0x88, 0x67, 0xba, 0x49, 0x12, 0x00, 0x00,
|
||||
// 1147 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x49, 0x6f, 0x23, 0x45,
|
||||
0x14, 0x9e, 0xf6, 0xee, 0xe7, 0xd8, 0xe9, 0x54, 0x62, 0xe2, 0x19, 0x60, 0xc6, 0xf4, 0x20, 0x11,
|
||||
0x8d, 0x84, 0x23, 0x3c, 0x1c, 0x98, 0xeb, 0xc4, 0x87, 0x98, 0x51, 0xa2, 0xa8, 0x1d, 0x81, 0x84,
|
||||
0x84, 0x5a, 0xed, 0xee, 0x87, 0x5d, 0xea, 0x35, 0x55, 0xe5, 0x04, 0xe7, 0x0f, 0x70, 0x05, 0x71,
|
||||
0xe4, 0xc6, 0x99, 0x03, 0x3f, 0x83, 0xed, 0xce, 0x9f, 0x00, 0xc1, 0x48, 0xa0, 0xb9, 0xa2, 0xaa,
|
||||
0x6e, 0x2f, 0xed, 0x2c, 0x2c, 0x62, 0xa4, 0x48, 0xb9, 0xf5, 0x7b, 0xb5, 0xbd, 0xef, 0x7b, 0x8b,
|
||||
0xdf, 0x33, 0x10, 0x1a, 0x0a, 0x64, 0xa1, 0xed, 0x5b, 0x01, 0x1f, 0x75, 0x62, 0x16, 0x89, 0x88,
|
||||
0x34, 0x03, 0xea, 0x9f, 0x4e, 0x78, 0x22, 0x75, 0x66, 0x1b, 0xee, 0xad, 0x39, 0x51, 0x10, 0x44,
|
||||
0x61, 0xa2, 0xbe, 0xb7, 0xc1, 0x91, 0x9d, 0x52, 0x07, 0x17, 0xe7, 0x8c, 0x18, 0xe0, 0x98, 0x47,
|
||||
0x26, 0x9e, 0x4c, 0x90, 0x0b, 0xb2, 0x0d, 0xe5, 0x18, 0x91, 0x59, 0xd4, 0x6d, 0x69, 0x6d, 0x6d,
|
||||
0x27, 0x6f, 0x96, 0xa4, 0xd8, 0x77, 0xc9, 0x63, 0x28, 0xb0, 0xc8, 0xc7, 0x56, 0xae, 0xad, 0xed,
|
||||
0x34, 0xba, 0x0f, 0x3a, 0x97, 0xbe, 0xd6, 0x39, 0x42, 0x64, 0x66, 0xe4, 0xa3, 0xa9, 0x36, 0x93,
|
||||
0x2d, 0x28, 0x3a, 0xd1, 0x24, 0x14, 0xad, 0x7c, 0x5b, 0xdb, 0xa9, 0x9b, 0x89, 0x60, 0x9c, 0x42,
|
||||
0x4d, 0xbd, 0xc8, 0xe3, 0x28, 0xe4, 0x48, 0x1e, 0x43, 0x89, 0x0b, 0x5b, 0x4c, 0xb8, 0x7a, 0xb1,
|
||||
0xd6, 0x7d, 0x35, 0x7b, 0x77, 0x6a, 0xff, 0x40, 0x6d, 0x31, 0xd3, 0xad, 0xe4, 0x35, 0xa8, 0x0a,
|
||||
0x1a, 0x20, 0x17, 0x76, 0x10, 0x2b, 0x9b, 0x0a, 0xe6, 0x42, 0x71, 0xc5, 0xbb, 0x3f, 0x6b, 0xb0,
|
||||
0xbd, 0xc7, 0xd0, 0x16, 0xb8, 0x17, 0xf9, 0x3e, 0x3a, 0x82, 0x46, 0xe1, 0x0c, 0xf7, 0x13, 0xa8,
|
||||
0x30, 0x3c, 0xb1, 0xc4, 0x34, 0x46, 0x65, 0x46, 0xa3, 0x7b, 0xff, 0x0a, 0x88, 0x26, 0x9e, 0x1c,
|
||||
0x4f, 0x63, 0x34, 0xcb, 0x2c, 0xf9, 0x20, 0x4d, 0x28, 0xc9, 0xa3, 0xd4, 0x55, 0x76, 0xe4, 0xcd,
|
||||
0x22, 0xc3, 0x93, 0xbe, 0x9b, 0xb5, 0x30, 0xbf, 0x6a, 0xe1, 0x5d, 0xa8, 0xc4, 0x2c, 0xfa, 0x74,
|
||||
0x2a, 0x8f, 0x15, 0xd4, 0xb1, 0xb2, 0x92, 0xfb, 0x2e, 0x79, 0x07, 0x4a, 0xdc, 0x19, 0x63, 0x60,
|
||||
0xb7, 0x8a, 0x8a, 0x8f, 0xbb, 0x97, 0xf2, 0xf1, 0xd4, 0x8f, 0x86, 0x66, 0xba, 0xd1, 0x78, 0xae,
|
||||
0x41, 0xb3, 0xc7, 0xa2, 0xf8, 0x46, 0xe3, 0x3a, 0x80, 0x75, 0x67, 0x6e, 0x9f, 0x15, 0xda, 0x01,
|
||||
0xa6, 0x00, 0xdf, 0xcc, 0x5a, 0x94, 0x86, 0x68, 0x67, 0x01, 0xe6, 0xd0, 0x0e, 0xd0, 0x6c, 0x38,
|
||||
0x19, 0xd9, 0xf8, 0x5d, 0x83, 0xad, 0x7d, 0x9b, 0xdf, 0x26, 0xc8, 0x7f, 0x6a, 0x70, 0xb7, 0x87,
|
||||
0xdc, 0x61, 0x74, 0x88, 0xb7, 0x09, 0xf7, 0xd7, 0x1a, 0x34, 0x07, 0xe3, 0xe8, 0xec, 0x26, 0x63,
|
||||
0x36, 0x7e, 0xd3, 0xe0, 0x95, 0xa4, 0xba, 0x1c, 0xd9, 0x4c, 0xd0, 0x1b, 0xea, 0x99, 0xf7, 0xa1,
|
||||
0x11, 0xcf, 0xcc, 0x5b, 0x76, 0xcc, 0xc3, 0xcb, 0x1d, 0x33, 0x87, 0xa2, 0xfc, 0x52, 0x8f, 0x97,
|
||||
0x45, 0xe3, 0x57, 0x0d, 0xb6, 0x64, 0xd5, 0xb9, 0x2d, 0x78, 0x7f, 0xd1, 0x60, 0x73, 0xdf, 0xe6,
|
||||
0xb7, 0x05, 0xee, 0x73, 0x0d, 0x5a, 0xb3, 0x6a, 0x73, 0x5b, 0x30, 0xcb, 0x1f, 0x15, 0x59, 0x69,
|
||||
0x6e, 0x32, 0xde, 0xff, 0xb9, 0xb8, 0xbe, 0xc8, 0x41, 0xbd, 0x1f, 0x72, 0x64, 0xe2, 0xe5, 0x61,
|
||||
0x7d, 0xeb, 0xa2, 0xc9, 0x12, 0x71, 0x75, 0xd5, 0x18, 0xf2, 0x10, 0x16, 0x0e, 0xb1, 0x84, 0x3d,
|
||||
0x52, 0xd8, 0xab, 0xe6, 0xda, 0x5c, 0x79, 0x6c, 0x8f, 0xc8, 0xeb, 0x00, 0x1c, 0x47, 0x01, 0x86,
|
||||
0x42, 0x3e, 0x54, 0x54, 0x0f, 0x55, 0x53, 0x4d, 0xdf, 0x95, 0xcb, 0xce, 0xd8, 0x0e, 0x43, 0xf4,
|
||||
0xe5, 0x72, 0x29, 0x59, 0x4e, 0x35, 0x7d, 0x37, 0xc3, 0x6c, 0x39, 0xcb, 0xec, 0x7d, 0x80, 0xb9,
|
||||
0x07, 0x78, 0xab, 0xd2, 0xce, 0xef, 0x14, 0xcc, 0x25, 0x8d, 0x6c, 0x8e, 0x59, 0x74, 0x66, 0x51,
|
||||
0x97, 0xb7, 0xaa, 0xed, 0xbc, 0x6c, 0x8e, 0x59, 0x74, 0xd6, 0x77, 0x39, 0x79, 0x17, 0x2a, 0x72,
|
||||
0xc1, 0xb5, 0x85, 0xdd, 0x82, 0x76, 0xfe, 0xfa, 0xa6, 0x4d, 0xde, 0xd1, 0xb3, 0x85, 0x6d, 0x7c,
|
||||
0x96, 0x83, 0x7a, 0x0f, 0x7d, 0x14, 0x78, 0x03, 0x98, 0xcf, 0xb2, 0x56, 0xb8, 0x8e, 0xb5, 0xe2,
|
||||
0x75, 0xac, 0x95, 0x2e, 0xb0, 0xf6, 0x06, 0xac, 0xc5, 0x8c, 0x06, 0x36, 0x9b, 0x5a, 0x1e, 0x4e,
|
||||
0x79, 0xab, 0xac, 0xa8, 0xab, 0xa5, 0xba, 0x67, 0x38, 0xe5, 0xc6, 0x0b, 0x0d, 0xea, 0x03, 0xb4,
|
||||
0x99, 0x33, 0x7e, 0x79, 0x4c, 0x2c, 0x23, 0xc8, 0x67, 0x11, 0x64, 0x52, 0xb1, 0xb0, 0x9a, 0x8a,
|
||||
0x8f, 0x60, 0x83, 0x21, 0x9f, 0xf8, 0xc2, 0x5a, 0x22, 0x28, 0xe1, 0x60, 0x3d, 0x59, 0xd8, 0x9b,
|
||||
0xd3, 0xb4, 0x0b, 0xc5, 0x93, 0x09, 0xb2, 0xa9, 0x0a, 0xbb, 0x6b, 0xa3, 0x20, 0xd9, 0x67, 0x7c,
|
||||
0x99, 0x83, 0xb5, 0x19, 0x72, 0x79, 0xd5, 0x7f, 0x9b, 0x86, 0xfe, 0x3d, 0x64, 0x03, 0xea, 0xca,
|
||||
0x00, 0x2b, 0x8c, 0x5c, 0x5c, 0x78, 0xbc, 0xa6, 0x94, 0x87, 0x91, 0x8b, 0xab, 0xb4, 0x14, 0xff,
|
||||
0x11, 0x2d, 0xa5, 0xcb, 0x69, 0xe9, 0x40, 0x61, 0x4c, 0x45, 0xe2, 0xfa, 0x5a, 0xf7, 0xde, 0xe5,
|
||||
0x75, 0x6a, 0x9f, 0x0a, 0x6e, 0xaa, 0x7d, 0x46, 0x0f, 0x6a, 0xc7, 0x34, 0xc0, 0xc1, 0x34, 0x74,
|
||||
0x0e, 0xf8, 0xe8, 0xea, 0xa1, 0xf4, 0xda, 0x29, 0xd0, 0xf8, 0x4a, 0x83, 0xf2, 0x33, 0x9c, 0x76,
|
||||
0x07, 0x38, 0x52, 0x0c, 0xa9, 0xd4, 0x4d, 0x6f, 0x28, 0xaa, 0xcc, 0x25, 0x0f, 0xa0, 0xb6, 0x14,
|
||||
0x9b, 0x29, 0x7b, 0xb0, 0x08, 0xcd, 0xbf, 0xaf, 0xd2, 0x94, 0x5b, 0xa7, 0xb6, 0x9f, 0x12, 0x58,
|
||||
0x31, 0xcb, 0x94, 0x7f, 0x20, 0x45, 0x79, 0xf3, 0xa2, 0x48, 0xf1, 0x56, 0x51, 0x05, 0x3d, 0xcc,
|
||||
0xab, 0x14, 0x37, 0x3e, 0x06, 0x48, 0x8d, 0x93, 0x10, 0x17, 0x1e, 0xd4, 0x96, 0x3d, 0xf8, 0x1e,
|
||||
0x94, 0x3d, 0x9c, 0x76, 0x39, 0x8e, 0x5a, 0x39, 0xc5, 0xdd, 0x55, 0x59, 0x90, 0x5e, 0x65, 0xce,
|
||||
0xb6, 0x1b, 0x21, 0x6c, 0x0c, 0x92, 0xc7, 0x64, 0xac, 0x50, 0x2e, 0xa8, 0xc3, 0x57, 0x2a, 0xa7,
|
||||
0xb6, 0x5a, 0x39, 0x1f, 0x40, 0x2d, 0xc0, 0x20, 0x62, 0x53, 0x8b, 0xd3, 0x73, 0x9c, 0xb1, 0x91,
|
||||
0xa8, 0x06, 0xf4, 0x1c, 0x25, 0xde, 0x70, 0x12, 0x58, 0x2c, 0x3a, 0xe3, 0xb3, 0x80, 0x0a, 0x27,
|
||||
0x81, 0x19, 0x9d, 0xf1, 0x47, 0xdf, 0xe4, 0xa0, 0x9c, 0xa6, 0x22, 0xa9, 0x42, 0xd1, 0x3b, 0x8c,
|
||||
0x42, 0xd4, 0xef, 0x90, 0x26, 0x6c, 0x78, 0xab, 0x33, 0xb7, 0xee, 0x92, 0x4d, 0x58, 0xf7, 0xb2,
|
||||
0x03, 0xab, 0x8e, 0x84, 0x40, 0xc3, 0xcb, 0x4c, 0x74, 0xfa, 0x27, 0x64, 0x1b, 0x36, 0xbd, 0x8b,
|
||||
0x23, 0x8f, 0x3e, 0x22, 0x5b, 0xa0, 0x7b, 0xd9, 0x99, 0x80, 0xeb, 0x63, 0xd2, 0x04, 0xdd, 0x5b,
|
||||
0x69, 0xc2, 0xf5, 0xef, 0x34, 0xb2, 0x09, 0x0d, 0x2f, 0xd3, 0xa9, 0xea, 0xdf, 0x6b, 0x84, 0x40,
|
||||
0xdd, 0x5b, 0x6e, 0xe7, 0xf4, 0x1f, 0x34, 0xb2, 0x0d, 0xc4, 0xbb, 0xd0, 0xf3, 0xe8, 0x3f, 0x6a,
|
||||
0x64, 0x0b, 0xd6, 0xbd, 0x4c, 0x63, 0xc0, 0xf5, 0x9f, 0x34, 0xb2, 0x06, 0x65, 0x2f, 0xf9, 0xed,
|
||||
0xd4, 0x3f, 0xcf, 0x2b, 0x29, 0xa9, 0xe7, 0xfa, 0x17, 0x89, 0x94, 0x64, 0xb6, 0xfe, 0x47, 0x9e,
|
||||
0x34, 0xa0, 0xea, 0xc9, 0x90, 0x3e, 0xa6, 0x8e, 0xa7, 0x7f, 0x5b, 0x7d, 0xf4, 0x04, 0x2a, 0xb3,
|
||||
0xff, 0x4a, 0x08, 0x40, 0xe9, 0xc0, 0xe6, 0x02, 0x99, 0x7e, 0x47, 0x7e, 0x9b, 0x68, 0xbb, 0xc8,
|
||||
0x74, 0x4d, 0x7e, 0x7f, 0xc8, 0xa8, 0xd4, 0xe7, 0x24, 0xa5, 0x47, 0x32, 0x75, 0xf5, 0xfc, 0xd3,
|
||||
0xde, 0x47, 0x4f, 0x47, 0x54, 0x8c, 0x27, 0x43, 0x59, 0x0c, 0x76, 0xcf, 0xa9, 0xef, 0xd3, 0x73,
|
||||
0x81, 0xce, 0x78, 0x37, 0x89, 0x8c, 0xb7, 0x5d, 0xca, 0x05, 0xa3, 0xc3, 0x89, 0x40, 0x77, 0x77,
|
||||
0x16, 0x1f, 0xbb, 0x2a, 0x5c, 0xe6, 0x62, 0x3c, 0x1c, 0x96, 0x94, 0xe6, 0xf1, 0x5f, 0x01, 0x00,
|
||||
0x00, 0xff, 0xff, 0x7a, 0xb3, 0x5a, 0xe2, 0x4b, 0x12, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -33,13 +33,29 @@ message RowBatch {
|
|||
repeated int32 hash_keys = 4;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Placeholder value types
|
||||
*/
|
||||
enum PlaceholderType {
|
||||
NONE = 0;
|
||||
VECTOR_BINARY = 100;
|
||||
VECTOR_FLOAT = 101;
|
||||
}
|
||||
|
||||
|
||||
message VectorValues {
|
||||
repeated common.Blob value = 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Placeholder value in DSL
|
||||
*/
|
||||
* @brief Placeholder value in DSL
|
||||
*/
|
||||
message PlaceholderValue {
|
||||
string tag = 1;
|
||||
common.Blob value = 2;
|
||||
PlaceholderType type = 2;
|
||||
// value contains the serialized VectorValues
|
||||
common.Blob value = 3;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -22,6 +22,36 @@ var _ = math.Inf
|
|||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
//*
|
||||
// @brief Placeholder value types
|
||||
type PlaceholderType int32
|
||||
|
||||
const (
|
||||
PlaceholderType_NONE PlaceholderType = 0
|
||||
PlaceholderType_VECTOR_BINARY PlaceholderType = 100
|
||||
PlaceholderType_VECTOR_FLOAT PlaceholderType = 101
|
||||
)
|
||||
|
||||
var PlaceholderType_name = map[int32]string{
|
||||
0: "NONE",
|
||||
100: "VECTOR_BINARY",
|
||||
101: "VECTOR_FLOAT",
|
||||
}
|
||||
|
||||
var PlaceholderType_value = map[string]int32{
|
||||
"NONE": 0,
|
||||
"VECTOR_BINARY": 100,
|
||||
"VECTOR_FLOAT": 101,
|
||||
}
|
||||
|
||||
func (x PlaceholderType) String() string {
|
||||
return proto.EnumName(PlaceholderType_name, int32(x))
|
||||
}
|
||||
|
||||
func (PlaceholderType) EnumDescriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{0}
|
||||
}
|
||||
|
||||
//*
|
||||
// @brief Collection name
|
||||
type CollectionName struct {
|
||||
|
@ -177,11 +207,52 @@ func (m *RowBatch) GetHashKeys() []int32 {
|
|||
return nil
|
||||
}
|
||||
|
||||
type VectorValues struct {
|
||||
Value []*commonpb.Blob `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *VectorValues) Reset() { *m = VectorValues{} }
|
||||
func (m *VectorValues) String() string { return proto.CompactTextString(m) }
|
||||
func (*VectorValues) ProtoMessage() {}
|
||||
func (*VectorValues) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{3}
|
||||
}
|
||||
|
||||
func (m *VectorValues) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_VectorValues.Unmarshal(m, b)
|
||||
}
|
||||
func (m *VectorValues) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_VectorValues.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *VectorValues) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_VectorValues.Merge(m, src)
|
||||
}
|
||||
func (m *VectorValues) XXX_Size() int {
|
||||
return xxx_messageInfo_VectorValues.Size(m)
|
||||
}
|
||||
func (m *VectorValues) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_VectorValues.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_VectorValues proto.InternalMessageInfo
|
||||
|
||||
func (m *VectorValues) GetValue() []*commonpb.Blob {
|
||||
if m != nil {
|
||||
return m.Value
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
//*
|
||||
// @brief Placeholder value in DSL
|
||||
type PlaceholderValue struct {
|
||||
Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"`
|
||||
Value *commonpb.Blob `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
|
||||
Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"`
|
||||
Type PlaceholderType `protobuf:"varint,2,opt,name=type,proto3,enum=milvus.proto.service.PlaceholderType" json:"type,omitempty"`
|
||||
// value contains the serialized VectorValues
|
||||
Value *commonpb.Blob `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -191,7 +262,7 @@ func (m *PlaceholderValue) Reset() { *m = PlaceholderValue{} }
|
|||
func (m *PlaceholderValue) String() string { return proto.CompactTextString(m) }
|
||||
func (*PlaceholderValue) ProtoMessage() {}
|
||||
func (*PlaceholderValue) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{3}
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{4}
|
||||
}
|
||||
|
||||
func (m *PlaceholderValue) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -219,6 +290,13 @@ func (m *PlaceholderValue) GetTag() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
func (m *PlaceholderValue) GetType() PlaceholderType {
|
||||
if m != nil {
|
||||
return m.Type
|
||||
}
|
||||
return PlaceholderType_NONE
|
||||
}
|
||||
|
||||
func (m *PlaceholderValue) GetValue() *commonpb.Blob {
|
||||
if m != nil {
|
||||
return m.Value
|
||||
|
@ -242,7 +320,7 @@ func (m *Query) Reset() { *m = Query{} }
|
|||
func (m *Query) String() string { return proto.CompactTextString(m) }
|
||||
func (*Query) ProtoMessage() {}
|
||||
func (*Query) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{4}
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{5}
|
||||
}
|
||||
|
||||
func (m *Query) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -305,7 +383,7 @@ func (m *StringResponse) Reset() { *m = StringResponse{} }
|
|||
func (m *StringResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*StringResponse) ProtoMessage() {}
|
||||
func (*StringResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{5}
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{6}
|
||||
}
|
||||
|
||||
func (m *StringResponse) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -354,7 +432,7 @@ func (m *BoolResponse) Reset() { *m = BoolResponse{} }
|
|||
func (m *BoolResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*BoolResponse) ProtoMessage() {}
|
||||
func (*BoolResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{6}
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{7}
|
||||
}
|
||||
|
||||
func (m *BoolResponse) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -403,7 +481,7 @@ func (m *StringListResponse) Reset() { *m = StringListResponse{} }
|
|||
func (m *StringListResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*StringListResponse) ProtoMessage() {}
|
||||
func (*StringListResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{7}
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{8}
|
||||
}
|
||||
|
||||
func (m *StringListResponse) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -452,7 +530,7 @@ func (m *IntegerListResponse) Reset() { *m = IntegerListResponse{} }
|
|||
func (m *IntegerListResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*IntegerListResponse) ProtoMessage() {}
|
||||
func (*IntegerListResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{8}
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{9}
|
||||
}
|
||||
|
||||
func (m *IntegerListResponse) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -502,7 +580,7 @@ func (m *IntegerRangeResponse) Reset() { *m = IntegerRangeResponse{} }
|
|||
func (m *IntegerRangeResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*IntegerRangeResponse) ProtoMessage() {}
|
||||
func (*IntegerRangeResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{9}
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{10}
|
||||
}
|
||||
|
||||
func (m *IntegerRangeResponse) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -559,7 +637,7 @@ func (m *CollectionDescription) Reset() { *m = CollectionDescription{} }
|
|||
func (m *CollectionDescription) String() string { return proto.CompactTextString(m) }
|
||||
func (*CollectionDescription) ProtoMessage() {}
|
||||
func (*CollectionDescription) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{10}
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{11}
|
||||
}
|
||||
|
||||
func (m *CollectionDescription) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -616,7 +694,7 @@ func (m *PartitionDescription) Reset() { *m = PartitionDescription{} }
|
|||
func (m *PartitionDescription) String() string { return proto.CompactTextString(m) }
|
||||
func (*PartitionDescription) ProtoMessage() {}
|
||||
func (*PartitionDescription) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{11}
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{12}
|
||||
}
|
||||
|
||||
func (m *PartitionDescription) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -674,7 +752,7 @@ func (m *Score) Reset() { *m = Score{} }
|
|||
func (m *Score) String() string { return proto.CompactTextString(m) }
|
||||
func (*Score) ProtoMessage() {}
|
||||
func (*Score) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{12}
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{13}
|
||||
}
|
||||
|
||||
func (m *Score) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -724,7 +802,7 @@ func (m *Hits) Reset() { *m = Hits{} }
|
|||
func (m *Hits) String() string { return proto.CompactTextString(m) }
|
||||
func (*Hits) ProtoMessage() {}
|
||||
func (*Hits) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{13}
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{14}
|
||||
}
|
||||
|
||||
func (m *Hits) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -780,7 +858,7 @@ func (m *QueryResult) Reset() { *m = QueryResult{} }
|
|||
func (m *QueryResult) String() string { return proto.CompactTextString(m) }
|
||||
func (*QueryResult) ProtoMessage() {}
|
||||
func (*QueryResult) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{14}
|
||||
return fileDescriptor_b4b40b84dd2f74cb, []int{15}
|
||||
}
|
||||
|
||||
func (m *QueryResult) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -816,9 +894,11 @@ func (m *QueryResult) GetHits() []*Hits {
|
|||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterEnum("milvus.proto.service.PlaceholderType", PlaceholderType_name, PlaceholderType_value)
|
||||
proto.RegisterType((*CollectionName)(nil), "milvus.proto.service.CollectionName")
|
||||
proto.RegisterType((*PartitionName)(nil), "milvus.proto.service.PartitionName")
|
||||
proto.RegisterType((*RowBatch)(nil), "milvus.proto.service.RowBatch")
|
||||
proto.RegisterType((*VectorValues)(nil), "milvus.proto.service.VectorValues")
|
||||
proto.RegisterType((*PlaceholderValue)(nil), "milvus.proto.service.PlaceholderValue")
|
||||
proto.RegisterType((*Query)(nil), "milvus.proto.service.Query")
|
||||
proto.RegisterType((*StringResponse)(nil), "milvus.proto.service.StringResponse")
|
||||
|
@ -836,47 +916,53 @@ func init() {
|
|||
func init() { proto.RegisterFile("service_msg.proto", fileDescriptor_b4b40b84dd2f74cb) }
|
||||
|
||||
var fileDescriptor_b4b40b84dd2f74cb = []byte{
|
||||
// 665 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0x4f, 0x6f, 0xd3, 0x3e,
|
||||
0x18, 0x56, 0x9a, 0xb6, 0xbf, 0xf6, 0x6d, 0xd7, 0xdf, 0x08, 0x05, 0x95, 0xed, 0x52, 0x32, 0x0d,
|
||||
0x7a, 0xa1, 0x15, 0x1b, 0x12, 0xe2, 0xc0, 0x61, 0xdd, 0x0e, 0xb0, 0x21, 0x34, 0x5c, 0x40, 0x02,
|
||||
0x0e, 0x95, 0x93, 0x58, 0x89, 0x85, 0x13, 0x57, 0xb6, 0xb3, 0xa9, 0xbb, 0xf2, 0x71, 0x38, 0xf3,
|
||||
0x19, 0xb8, 0xf1, 0x99, 0x90, 0x9d, 0x34, 0x6d, 0xa7, 0x80, 0xc6, 0xb6, 0x9b, 0xfd, 0xfa, 0xfd,
|
||||
0xf3, 0x3c, 0x8f, 0x5e, 0x3f, 0x70, 0x47, 0x12, 0x71, 0x46, 0x7d, 0x32, 0x8d, 0x65, 0x38, 0x9c,
|
||||
0x09, 0xae, 0xb8, 0xd3, 0x8d, 0x29, 0x3b, 0x4b, 0x65, 0x76, 0x1b, 0xe6, 0xef, 0x5b, 0x6d, 0x9f,
|
||||
0xc7, 0x31, 0x4f, 0xb2, 0xe8, 0x56, 0x5b, 0xfa, 0x11, 0x89, 0x71, 0x76, 0x73, 0x5f, 0x40, 0xe7,
|
||||
0x90, 0x33, 0x46, 0x7c, 0x45, 0x79, 0xf2, 0x16, 0xc7, 0xc4, 0x79, 0x0c, 0xff, 0xfb, 0x45, 0x64,
|
||||
0x9a, 0xe0, 0x98, 0xf4, 0xac, 0xbe, 0x35, 0x68, 0xa2, 0x8e, 0xbf, 0x96, 0xe8, 0x1e, 0xc3, 0xc6,
|
||||
0x29, 0x16, 0x8a, 0xfe, 0x73, 0xa5, 0xb3, 0x09, 0xb6, 0xc2, 0x61, 0xaf, 0x62, 0x1e, 0xf5, 0xd1,
|
||||
0xfd, 0x6e, 0x41, 0x03, 0xf1, 0xf3, 0x31, 0x56, 0x7e, 0x74, 0xf5, 0x3e, 0x3b, 0xb0, 0x31, 0x5b,
|
||||
0x20, 0x98, 0x2e, 0x3b, 0xb6, 0x8b, 0xe0, 0x7b, 0x1c, 0x3a, 0xcf, 0xa0, 0x21, 0xf8, 0xf9, 0x34,
|
||||
0xc0, 0x0a, 0xf7, 0xec, 0xbe, 0x3d, 0x68, 0xed, 0x3d, 0x18, 0xae, 0xc9, 0x94, 0xab, 0x33, 0x66,
|
||||
0xdc, 0x43, 0xff, 0x09, 0x7e, 0x7e, 0x84, 0x15, 0x76, 0xb6, 0xa1, 0x19, 0x61, 0x19, 0x4d, 0xbf,
|
||||
0x92, 0xb9, 0xec, 0x55, 0xfb, 0xf6, 0xa0, 0x86, 0x1a, 0x3a, 0x70, 0x42, 0xe6, 0xd2, 0xfd, 0x00,
|
||||
0x9b, 0xa7, 0x0c, 0xfb, 0x24, 0xe2, 0x2c, 0x20, 0xe2, 0x23, 0x66, 0x69, 0xc1, 0xc9, 0x2a, 0x38,
|
||||
0x39, 0x23, 0xa8, 0x9d, 0xe9, 0x27, 0x83, 0xea, 0xaf, 0x53, 0xb3, 0x3c, 0xf7, 0x87, 0x05, 0xb5,
|
||||
0x77, 0x29, 0x11, 0xf3, 0xab, 0x2b, 0xb0, 0x0b, 0x9d, 0x35, 0x05, 0x64, 0xaf, 0xd2, 0xb7, 0x07,
|
||||
0x4d, 0xb4, 0xb1, 0x2a, 0x81, 0xd4, 0xe0, 0x02, 0xc9, 0x7a, 0x76, 0x06, 0x2e, 0x90, 0xcc, 0x39,
|
||||
0x86, 0xf6, 0x6c, 0x49, 0x21, 0xa3, 0xd8, 0xda, 0x7b, 0x34, 0x2c, 0x5b, 0xa0, 0xe1, 0x65, 0xb2,
|
||||
0x68, 0xad, 0xd6, 0xfd, 0x02, 0x9d, 0x89, 0x12, 0x34, 0x09, 0x11, 0x91, 0x33, 0x9e, 0x48, 0xe2,
|
||||
0xec, 0x43, 0x5d, 0x2a, 0xac, 0x52, 0x69, 0x60, 0xb7, 0xf6, 0xb6, 0x4b, 0xb9, 0x4f, 0x4c, 0x0a,
|
||||
0xca, 0x53, 0x9d, 0xee, 0xaa, 0x5e, 0xcd, 0x85, 0x28, 0x9f, 0xa0, 0x3d, 0xe6, 0x9c, 0xdd, 0x62,
|
||||
0xeb, 0xc6, 0xa2, 0x35, 0x06, 0x27, 0xc3, 0xfd, 0x86, 0x4a, 0x75, 0xb3, 0x01, 0xf7, 0xa1, 0x6e,
|
||||
0x7a, 0x2e, 0xf4, 0xcf, 0x6f, 0xae, 0x07, 0x77, 0x5f, 0x27, 0x8a, 0x84, 0x44, 0xdc, 0xf6, 0x0c,
|
||||
0xbb, 0x98, 0x21, 0xa1, 0x9b, 0xcf, 0x40, 0x38, 0x09, 0xc9, 0x8d, 0x95, 0xf2, 0x48, 0x48, 0x13,
|
||||
0xa3, 0x94, 0x8d, 0xb2, 0x8b, 0xde, 0x1f, 0x92, 0x04, 0x66, 0x7f, 0x6c, 0xa4, 0x8f, 0xee, 0x2f,
|
||||
0x0b, 0xee, 0x2d, 0x8d, 0xe3, 0x88, 0x48, 0x5f, 0xd0, 0x99, 0x3e, 0x5e, 0x6f, 0xec, 0x4b, 0xa8,
|
||||
0x67, 0xb6, 0x94, 0x7f, 0x96, 0xdd, 0x4b, 0x8b, 0x98, 0x59, 0xd6, 0x72, 0xe0, 0xc4, 0x04, 0x50,
|
||||
0x5e, 0xe4, 0x1c, 0x00, 0xe8, 0x46, 0x54, 0x2a, 0xea, 0xcb, 0xfc, 0x97, 0x3f, 0x2c, 0x9d, 0x7b,
|
||||
0x42, 0xe6, 0x66, 0x85, 0x4f, 0x31, 0x15, 0x68, 0xa5, 0xc8, 0xfd, 0x69, 0x41, 0xb7, 0xb0, 0xb3,
|
||||
0x1b, 0xf3, 0x79, 0x0e, 0x55, 0xf3, 0x6b, 0x33, 0x36, 0x3b, 0x7f, 0xf8, 0x56, 0xab, 0xee, 0x89,
|
||||
0x4c, 0xc1, 0x6d, 0x30, 0x79, 0x0a, 0xb5, 0x89, 0xcf, 0x45, 0x99, 0x25, 0xad, 0xaf, 0x50, 0xa5,
|
||||
0x58, 0xa1, 0x6f, 0x16, 0x54, 0x5f, 0x51, 0x65, 0x8c, 0x82, 0x06, 0x9a, 0xa9, 0x5e, 0x30, 0x7d,
|
||||
0x5c, 0xb3, 0xcf, 0xca, 0x95, 0xed, 0x53, 0x8b, 0xa6, 0x31, 0x2c, 0x28, 0x6c, 0x97, 0x2b, 0x60,
|
||||
0x70, 0xa2, 0x3c, 0xd5, 0x15, 0xd0, 0x32, 0xf6, 0x87, 0x88, 0x4c, 0x99, 0xba, 0x9e, 0xf0, 0x43,
|
||||
0xa8, 0x46, 0x54, 0xc9, 0x1c, 0xea, 0x56, 0xf9, 0x58, 0x4d, 0x15, 0x99, 0xbc, 0xf1, 0xe1, 0xe7,
|
||||
0x83, 0x90, 0xaa, 0x28, 0xf5, 0x74, 0xbf, 0xd1, 0x05, 0x65, 0x8c, 0x5e, 0x28, 0xe2, 0x47, 0xa3,
|
||||
0xac, 0xf0, 0x49, 0x40, 0xa5, 0x12, 0xd4, 0x4b, 0x15, 0x09, 0x46, 0x34, 0x51, 0x44, 0x24, 0x98,
|
||||
0x8d, 0x4c, 0xb7, 0x51, 0xde, 0x6d, 0xe6, 0x79, 0x75, 0x13, 0xd8, 0xff, 0x1d, 0x00, 0x00, 0xff,
|
||||
0xff, 0x49, 0xd7, 0x76, 0xe4, 0x92, 0x07, 0x00, 0x00,
|
||||
// 753 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xdd, 0x6e, 0xd3, 0x4a,
|
||||
0x10, 0x3e, 0x8e, 0x93, 0x9c, 0x64, 0xf2, 0xd3, 0xd4, 0x27, 0x07, 0x85, 0xf6, 0x26, 0xb8, 0x2a,
|
||||
0x44, 0x48, 0x24, 0x22, 0x45, 0x42, 0xbd, 0x40, 0x90, 0xb4, 0x45, 0xf4, 0x47, 0x69, 0xd9, 0x44,
|
||||
0x95, 0x0a, 0x17, 0xd1, 0xc6, 0x5e, 0xd9, 0x2b, 0x1c, 0xaf, 0xb5, 0xbb, 0x69, 0x95, 0xde, 0xf2,
|
||||
0x02, 0xbc, 0x07, 0xd7, 0x3c, 0x03, 0x77, 0x3c, 0x13, 0xf2, 0xda, 0xf9, 0x83, 0xa0, 0x86, 0xb6,
|
||||
0x77, 0xb3, 0x93, 0x99, 0xf9, 0xbe, 0xf9, 0x32, 0xfe, 0x60, 0x5d, 0x10, 0x7e, 0x49, 0x2d, 0xd2,
|
||||
0x1f, 0x0a, 0xa7, 0x1e, 0x70, 0x26, 0x99, 0x51, 0x1e, 0x52, 0xef, 0x72, 0x24, 0xa2, 0x57, 0x3d,
|
||||
0xfe, 0x7d, 0x23, 0x6f, 0xb1, 0xe1, 0x90, 0xf9, 0x51, 0x76, 0x23, 0x2f, 0x2c, 0x97, 0x0c, 0x71,
|
||||
0xf4, 0x32, 0x77, 0xa1, 0xb8, 0xc7, 0x3c, 0x8f, 0x58, 0x92, 0x32, 0xbf, 0x83, 0x87, 0xc4, 0x78,
|
||||
0x02, 0x6b, 0xd6, 0x34, 0xd3, 0xf7, 0xf1, 0x90, 0x54, 0xb4, 0xaa, 0x56, 0xcb, 0xa2, 0xa2, 0xb5,
|
||||
0x50, 0x68, 0x1e, 0x41, 0xe1, 0x0c, 0x73, 0x49, 0xff, 0xba, 0xd3, 0x28, 0x81, 0x2e, 0xb1, 0x53,
|
||||
0x49, 0xa8, 0x1f, 0xc3, 0xd0, 0xfc, 0xaa, 0x41, 0x06, 0xb1, 0xab, 0x36, 0x96, 0x96, 0xbb, 0xfa,
|
||||
0x9c, 0x2d, 0x28, 0x04, 0x13, 0x06, 0xfd, 0xd9, 0xc4, 0xfc, 0x34, 0xd9, 0xc3, 0x8e, 0xf1, 0x02,
|
||||
0x32, 0x9c, 0x5d, 0xf5, 0x6d, 0x2c, 0x71, 0x45, 0xaf, 0xea, 0xb5, 0x5c, 0xf3, 0x61, 0x7d, 0x41,
|
||||
0xa6, 0x58, 0x9d, 0xb6, 0xc7, 0x06, 0xe8, 0x5f, 0xce, 0xae, 0xf6, 0xb1, 0xc4, 0xc6, 0x26, 0x64,
|
||||
0x5d, 0x2c, 0xdc, 0xfe, 0x27, 0x32, 0x16, 0x95, 0x64, 0x55, 0xaf, 0xa5, 0x50, 0x26, 0x4c, 0x1c,
|
||||
0x93, 0xb1, 0x30, 0x5f, 0x43, 0xfe, 0x9c, 0x58, 0x92, 0xf1, 0x73, 0xec, 0x8d, 0x88, 0x30, 0x1a,
|
||||
0x90, 0xba, 0x0c, 0xa3, 0x8a, 0x76, 0xd3, 0xfc, 0xa8, 0xce, 0xfc, 0xa2, 0x41, 0xe9, 0xcc, 0xc3,
|
||||
0x16, 0x71, 0x99, 0x67, 0x93, 0x68, 0xcc, 0x44, 0x15, 0x6d, 0xaa, 0x8a, 0xb1, 0x0b, 0x49, 0x39,
|
||||
0x0e, 0x88, 0x5a, 0xab, 0xd8, 0xdc, 0xae, 0x2f, 0xfb, 0x77, 0xeb, 0x73, 0x73, 0x7a, 0xe3, 0x80,
|
||||
0x20, 0xd5, 0x32, 0xa3, 0xa4, 0x57, 0xb5, 0x95, 0x28, 0x7d, 0xd3, 0x20, 0xf5, 0x7e, 0x44, 0xf8,
|
||||
0x78, 0x75, 0xf9, 0xb7, 0xa1, 0xb8, 0x20, 0xbf, 0xa8, 0x24, 0xaa, 0x7a, 0x2d, 0x8b, 0x0a, 0xf3,
|
||||
0xfa, 0x8b, 0x70, 0x2f, 0x5b, 0x78, 0x8a, 0x48, 0x16, 0x85, 0xa1, 0x71, 0x04, 0xf9, 0x60, 0xc6,
|
||||
0x3a, 0xd2, 0x37, 0xd7, 0x7c, 0x7c, 0xe3, 0x7e, 0x4a, 0x27, 0xb4, 0xd0, 0x6b, 0x7e, 0x84, 0x62,
|
||||
0x57, 0x72, 0xea, 0x3b, 0x88, 0x88, 0x80, 0xf9, 0x82, 0x18, 0x3b, 0x90, 0x16, 0x12, 0xcb, 0x91,
|
||||
0x50, 0xb4, 0x73, 0xcd, 0xcd, 0xa5, 0xbb, 0x77, 0x55, 0x09, 0x8a, 0x4b, 0x8d, 0xf2, 0x44, 0xaf,
|
||||
0xe8, 0x84, 0x62, 0x51, 0x2e, 0x20, 0xdf, 0x66, 0xcc, 0xbb, 0xc7, 0xd1, 0x99, 0xc9, 0x68, 0x0c,
|
||||
0x46, 0xc4, 0xfb, 0x84, 0x0a, 0x79, 0x37, 0x80, 0x07, 0x90, 0x56, 0x33, 0x27, 0xfa, 0xc7, 0x2f,
|
||||
0x73, 0x00, 0xff, 0x1d, 0xfa, 0x92, 0x38, 0x84, 0xdf, 0x37, 0x86, 0x3e, 0xc5, 0x10, 0x50, 0x8e,
|
||||
0x31, 0x10, 0xf6, 0x1d, 0x72, 0x67, 0xa5, 0x06, 0xc4, 0xa1, 0xbe, 0x52, 0x4a, 0x47, 0xd1, 0x23,
|
||||
0xbc, 0x1f, 0xe2, 0xdb, 0xea, 0x7e, 0x74, 0x14, 0x86, 0xe6, 0x0f, 0x0d, 0xfe, 0x9f, 0xb9, 0xd6,
|
||||
0x3e, 0x11, 0x16, 0xa7, 0x41, 0x18, 0xde, 0x0e, 0xf6, 0x15, 0xa4, 0x23, 0x4f, 0x54, 0xb8, 0xb9,
|
||||
0xdf, 0x3e, 0xb4, 0xc8, 0x2f, 0x67, 0x80, 0x5d, 0x95, 0x40, 0x71, 0x93, 0xd1, 0x02, 0x08, 0x07,
|
||||
0x51, 0x21, 0xa9, 0x25, 0x62, 0x8b, 0x79, 0xb4, 0x14, 0xf7, 0x98, 0x8c, 0xd5, 0x09, 0x9f, 0x61,
|
||||
0xca, 0xd1, 0x5c, 0x93, 0xf9, 0x5d, 0x83, 0xf2, 0xd4, 0x4b, 0xef, 0xbc, 0xcf, 0x4b, 0x48, 0xaa,
|
||||
0xaf, 0x36, 0xda, 0x66, 0xeb, 0x0f, 0x9f, 0xd5, 0xbc, 0x75, 0x23, 0xd5, 0x70, 0x1f, 0x9b, 0x3c,
|
||||
0x87, 0x54, 0xd7, 0x62, 0x7c, 0x99, 0x9b, 0x2d, 0x9e, 0x50, 0x62, 0x7a, 0x42, 0x9f, 0x35, 0x48,
|
||||
0xbe, 0xa3, 0x52, 0x19, 0x05, 0xb5, 0x85, 0x32, 0x51, 0x1d, 0x85, 0xe1, 0x82, 0x77, 0x27, 0x56,
|
||||
0xf6, 0xee, 0x50, 0xb4, 0x90, 0xc3, 0x64, 0x85, 0xcd, 0xe5, 0x0a, 0x28, 0x9e, 0x28, 0x2e, 0x35,
|
||||
0x39, 0xe4, 0x94, 0xfd, 0x21, 0x22, 0x46, 0x9e, 0xbc, 0x9d, 0xf0, 0x75, 0x48, 0xba, 0x54, 0x8a,
|
||||
0x98, 0xea, 0xc6, 0x72, 0xd8, 0x70, 0x55, 0xa4, 0xea, 0x9e, 0xbe, 0x81, 0xb5, 0x5f, 0xdc, 0xdb,
|
||||
0xc8, 0x40, 0xb2, 0x73, 0xda, 0x39, 0x28, 0xfd, 0x63, 0xac, 0x43, 0xe1, 0xfc, 0x60, 0xaf, 0x77,
|
||||
0x8a, 0xfa, 0xed, 0xc3, 0x4e, 0x0b, 0x5d, 0x94, 0x6c, 0xa3, 0x04, 0xf9, 0x38, 0xf5, 0xf6, 0xe4,
|
||||
0xb4, 0xd5, 0x2b, 0x91, 0xf6, 0xde, 0x87, 0x96, 0x43, 0xa5, 0x3b, 0x1a, 0x84, 0x8c, 0x1a, 0xd7,
|
||||
0xd4, 0xf3, 0xe8, 0xb5, 0x24, 0x96, 0xdb, 0x88, 0xa0, 0x9f, 0xd9, 0x54, 0x48, 0x4e, 0x07, 0x23,
|
||||
0x49, 0xec, 0x06, 0xf5, 0x25, 0xe1, 0x3e, 0xf6, 0x1a, 0x8a, 0x4f, 0x23, 0xe6, 0x13, 0x0c, 0x06,
|
||||
0x69, 0x95, 0xd8, 0xf9, 0x19, 0x00, 0x00, 0xff, 0xff, 0xce, 0x69, 0xc1, 0x30, 0x51, 0x08, 0x00,
|
||||
0x00,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue