// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: etcd_meta.proto

#include "etcd_meta.pb.h"

#include <algorithm>

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Address_common_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_KeyDataPair_common_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_KeyValuePair_common_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_etcd_5fmeta_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_FieldIndexInfo_etcd_5fmeta_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_schema_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_CollectionSchema_schema_2eproto;
namespace milvus {
namespace proto {
namespace etcd {
class TenantMetaDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TenantMeta> _instance;
} _TenantMeta_default_instance_;
class ProxyMetaDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ProxyMeta> _instance;
} _ProxyMeta_default_instance_;
class IndexInfoDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<IndexInfo> _instance;
} _IndexInfo_default_instance_;
class FieldIndexInfoDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<FieldIndexInfo> _instance;
} _FieldIndexInfo_default_instance_;
class CollectionInfoDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CollectionInfo> _instance;
} _CollectionInfo_default_instance_;
class SegmentIndexInfoDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SegmentIndexInfo> _instance;
} _SegmentIndexInfo_default_instance_;
class CollectionMetaDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CollectionMeta> _instance;
} _CollectionMeta_default_instance_;
}  // namespace etcd
}  // namespace proto
}  // namespace milvus
static void InitDefaultsscc_info_CollectionInfo_etcd_5fmeta_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::milvus::proto::etcd::_CollectionInfo_default_instance_;
    new (ptr) ::milvus::proto::etcd::CollectionInfo();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::milvus::proto::etcd::CollectionInfo::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<3> scc_info_CollectionInfo_etcd_5fmeta_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsscc_info_CollectionInfo_etcd_5fmeta_2eproto}, {
      &scc_info_CollectionSchema_schema_2eproto.base,
      &scc_info_FieldIndexInfo_etcd_5fmeta_2eproto.base,
      &scc_info_KeyDataPair_common_2eproto.base,}};

static void InitDefaultsscc_info_CollectionMeta_etcd_5fmeta_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::milvus::proto::etcd::_CollectionMeta_default_instance_;
    new (ptr) ::milvus::proto::etcd::CollectionMeta();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::milvus::proto::etcd::CollectionMeta::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_CollectionMeta_etcd_5fmeta_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_CollectionMeta_etcd_5fmeta_2eproto}, {
      &scc_info_CollectionSchema_schema_2eproto.base,}};

static void InitDefaultsscc_info_FieldIndexInfo_etcd_5fmeta_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::milvus::proto::etcd::_FieldIndexInfo_default_instance_;
    new (ptr) ::milvus::proto::etcd::FieldIndexInfo();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::milvus::proto::etcd::FieldIndexInfo::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_FieldIndexInfo_etcd_5fmeta_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_FieldIndexInfo_etcd_5fmeta_2eproto}, {}};

static void InitDefaultsscc_info_IndexInfo_etcd_5fmeta_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::milvus::proto::etcd::_IndexInfo_default_instance_;
    new (ptr) ::milvus::proto::etcd::IndexInfo();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::milvus::proto::etcd::IndexInfo::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_IndexInfo_etcd_5fmeta_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_IndexInfo_etcd_5fmeta_2eproto}, {
      &scc_info_KeyValuePair_common_2eproto.base,}};

static void InitDefaultsscc_info_ProxyMeta_etcd_5fmeta_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::milvus::proto::etcd::_ProxyMeta_default_instance_;
    new (ptr) ::milvus::proto::etcd::ProxyMeta();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::milvus::proto::etcd::ProxyMeta::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_ProxyMeta_etcd_5fmeta_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_ProxyMeta_etcd_5fmeta_2eproto}, {
      &scc_info_Address_common_2eproto.base,}};

static void InitDefaultsscc_info_SegmentIndexInfo_etcd_5fmeta_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::milvus::proto::etcd::_SegmentIndexInfo_default_instance_;
    new (ptr) ::milvus::proto::etcd::SegmentIndexInfo();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::milvus::proto::etcd::SegmentIndexInfo::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_SegmentIndexInfo_etcd_5fmeta_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_SegmentIndexInfo_etcd_5fmeta_2eproto}, {}};

static void InitDefaultsscc_info_TenantMeta_etcd_5fmeta_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::milvus::proto::etcd::_TenantMeta_default_instance_;
    new (ptr) ::milvus::proto::etcd::TenantMeta();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::milvus::proto::etcd::TenantMeta::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_TenantMeta_etcd_5fmeta_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_TenantMeta_etcd_5fmeta_2eproto}, {}};

static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_etcd_5fmeta_2eproto[7];
static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_etcd_5fmeta_2eproto = nullptr;
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_etcd_5fmeta_2eproto = nullptr;

const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_etcd_5fmeta_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::TenantMeta, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::TenantMeta, id_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::TenantMeta, num_query_nodes_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::TenantMeta, insert_channelids_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::TenantMeta, query_channelid_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::ProxyMeta, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::ProxyMeta, id_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::ProxyMeta, address_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::ProxyMeta, result_channelids_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::IndexInfo, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::IndexInfo, index_name_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::IndexInfo, indexid_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::IndexInfo, index_params_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::FieldIndexInfo, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::FieldIndexInfo, filedid_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::FieldIndexInfo, indexid_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, id_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, schema_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, create_time_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, partitionids_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, partitionnames_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, field_indexes_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, virtual_channel_names_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, physical_channel_names_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, partition_created_timestamps_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, shards_num_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, start_positions_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentIndexInfo, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentIndexInfo, collectionid_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentIndexInfo, partitionid_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentIndexInfo, segmentid_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentIndexInfo, fieldid_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentIndexInfo, indexid_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentIndexInfo, buildid_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentIndexInfo, enable_index_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, id_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, schema_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, create_time_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, segmentids_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, partition_tags_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, partitionids_),
};
static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, sizeof(::milvus::proto::etcd::TenantMeta)},
  { 9, -1, sizeof(::milvus::proto::etcd::ProxyMeta)},
  { 17, -1, sizeof(::milvus::proto::etcd::IndexInfo)},
  { 25, -1, sizeof(::milvus::proto::etcd::FieldIndexInfo)},
  { 32, -1, sizeof(::milvus::proto::etcd::CollectionInfo)},
  { 48, -1, sizeof(::milvus::proto::etcd::SegmentIndexInfo)},
  { 60, -1, sizeof(::milvus::proto::etcd::CollectionMeta)},
};

static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_TenantMeta_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_ProxyMeta_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_IndexInfo_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_FieldIndexInfo_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_CollectionInfo_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_SegmentIndexInfo_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_CollectionMeta_default_instance_),
};

const char descriptor_table_protodef_etcd_5fmeta_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\017etcd_meta.proto\022\021milvus.proto.etcd\032\014co"
  "mmon.proto\032\014schema.proto\"e\n\nTenantMeta\022\n"
  "\n\002ID\030\001 \001(\003\022\027\n\017num_query_nodes\030\002 \001(\003\022\031\n\021i"
  "nsert_channelIDs\030\003 \003(\t\022\027\n\017query_channelI"
  "D\030\004 \001(\t\"a\n\tProxyMeta\022\n\n\002ID\030\001 \001(\003\022-\n\007addr"
  "ess\030\002 \001(\0132\034.milvus.proto.common.Address\022"
  "\031\n\021result_channelIDs\030\003 \003(\t\"i\n\tIndexInfo\022"
  "\022\n\nindex_name\030\001 \001(\t\022\017\n\007indexID\030\002 \001(\003\0227\n\014"
  "index_params\030\003 \003(\0132!.milvus.proto.common"
  ".KeyValuePair\"2\n\016FieldIndexInfo\022\017\n\007filed"
  "ID\030\001 \001(\003\022\017\n\007indexID\030\002 \001(\003\"\204\003\n\016Collection"
  "Info\022\n\n\002ID\030\001 \001(\003\0225\n\006schema\030\002 \001(\0132%.milvu"
  "s.proto.schema.CollectionSchema\022\023\n\013creat"
  "e_time\030\003 \001(\004\022\024\n\014partitionIDs\030\004 \003(\003\022\026\n\016pa"
  "rtitionNames\030\005 \003(\t\0228\n\rfield_indexes\030\006 \003("
  "\0132!.milvus.proto.etcd.FieldIndexInfo\022\035\n\025"
  "virtual_channel_names\030\007 \003(\t\022\036\n\026physical_"
  "channel_names\030\010 \003(\t\022$\n\034partition_created"
  "_timestamps\030\t \003(\004\022\022\n\nshards_num\030\n \001(\005\0229\n"
  "\017start_positions\030\013 \003(\0132 .milvus.proto.co"
  "mmon.KeyDataPair\"\231\001\n\020SegmentIndexInfo\022\024\n"
  "\014collectionID\030\001 \001(\003\022\023\n\013partitionID\030\002 \001(\003"
  "\022\021\n\tsegmentID\030\003 \001(\003\022\017\n\007fieldID\030\004 \001(\003\022\017\n\007"
  "indexID\030\005 \001(\003\022\017\n\007buildID\030\006 \001(\003\022\024\n\014enable"
  "_index\030\007 \001(\010\"\252\001\n\016CollectionMeta\022\n\n\002ID\030\001 "
  "\001(\003\0225\n\006schema\030\002 \001(\0132%.milvus.proto.schem"
  "a.CollectionSchema\022\023\n\013create_time\030\003 \001(\004\022"
  "\022\n\nsegmentIDs\030\004 \003(\003\022\026\n\016partition_tags\030\005 "
  "\003(\t\022\024\n\014partitionIDs\030\006 \003(\003B3Z1github.com/"
  "milvus-io/milvus/internal/proto/etcdpbb\006"
  "proto3"
  ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_etcd_5fmeta_2eproto_deps[2] = {
  &::descriptor_table_common_2eproto,
  &::descriptor_table_schema_2eproto,
};
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_etcd_5fmeta_2eproto_sccs[7] = {
  &scc_info_CollectionInfo_etcd_5fmeta_2eproto.base,
  &scc_info_CollectionMeta_etcd_5fmeta_2eproto.base,
  &scc_info_FieldIndexInfo_etcd_5fmeta_2eproto.base,
  &scc_info_IndexInfo_etcd_5fmeta_2eproto.base,
  &scc_info_ProxyMeta_etcd_5fmeta_2eproto.base,
  &scc_info_SegmentIndexInfo_etcd_5fmeta_2eproto.base,
  &scc_info_TenantMeta_etcd_5fmeta_2eproto.base,
};
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_etcd_5fmeta_2eproto_once;
static bool descriptor_table_etcd_5fmeta_2eproto_initialized = false;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_etcd_5fmeta_2eproto = {
  &descriptor_table_etcd_5fmeta_2eproto_initialized, descriptor_table_protodef_etcd_5fmeta_2eproto, "etcd_meta.proto", 1206,
  &descriptor_table_etcd_5fmeta_2eproto_once, descriptor_table_etcd_5fmeta_2eproto_sccs, descriptor_table_etcd_5fmeta_2eproto_deps, 7, 2,
  schemas, file_default_instances, TableStruct_etcd_5fmeta_2eproto::offsets,
  file_level_metadata_etcd_5fmeta_2eproto, 7, file_level_enum_descriptors_etcd_5fmeta_2eproto, file_level_service_descriptors_etcd_5fmeta_2eproto,
};

// Force running AddDescriptors() at dynamic initialization time.
static bool dynamic_init_dummy_etcd_5fmeta_2eproto = (  ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_etcd_5fmeta_2eproto), true);
namespace milvus {
namespace proto {
namespace etcd {

// ===================================================================

void TenantMeta::InitAsDefaultInstance() {
}
class TenantMeta::_Internal {
 public:
};

TenantMeta::TenantMeta()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:milvus.proto.etcd.TenantMeta)
}
TenantMeta::TenantMeta(const TenantMeta& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr),
      insert_channelids_(from.insert_channelids_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  query_channelid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from.query_channelid().empty()) {
    query_channelid_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.query_channelid_);
  }
  ::memcpy(&id_, &from.id_,
    static_cast<size_t>(reinterpret_cast<char*>(&num_query_nodes_) -
    reinterpret_cast<char*>(&id_)) + sizeof(num_query_nodes_));
  // @@protoc_insertion_point(copy_constructor:milvus.proto.etcd.TenantMeta)
}

void TenantMeta::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_TenantMeta_etcd_5fmeta_2eproto.base);
  query_channelid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&num_query_nodes_) -
      reinterpret_cast<char*>(&id_)) + sizeof(num_query_nodes_));
}

TenantMeta::~TenantMeta() {
  // @@protoc_insertion_point(destructor:milvus.proto.etcd.TenantMeta)
  SharedDtor();
}

void TenantMeta::SharedDtor() {
  query_channelid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void TenantMeta::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const TenantMeta& TenantMeta::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_TenantMeta_etcd_5fmeta_2eproto.base);
  return *internal_default_instance();
}


void TenantMeta::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.etcd.TenantMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  insert_channelids_.Clear();
  query_channelid_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&num_query_nodes_) -
      reinterpret_cast<char*>(&id_)) + sizeof(num_query_nodes_));
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* TenantMeta::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 ID = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 num_query_nodes = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          num_query_nodes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated string insert_channelIDs = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_insert_channelids(), ptr, ctx, "milvus.proto.etcd.TenantMeta.insert_channelIDs");
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26);
        } else goto handle_unusual;
        continue;
      // string query_channelID = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_query_channelid(), ptr, ctx, "milvus.proto.etcd.TenantMeta.query_channelID");
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool TenantMeta::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:milvus.proto.etcd.TenantMeta)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int64 ID = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 num_query_nodes = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &num_query_nodes_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string insert_channelIDs = 3;
      case 3: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->add_insert_channelids()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->insert_channelids(this->insert_channelids_size() - 1).data(),
            static_cast<int>(this->insert_channelids(this->insert_channelids_size() - 1).length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.TenantMeta.insert_channelIDs"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string query_channelID = 4;
      case 4: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (34 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->mutable_query_channelid()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->query_channelid().data(), static_cast<int>(this->query_channelid().length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.TenantMeta.query_channelID"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:milvus.proto.etcd.TenantMeta)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:milvus.proto.etcd.TenantMeta)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void TenantMeta::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:milvus.proto.etcd.TenantMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(1, this->id(), output);
  }

  // int64 num_query_nodes = 2;
  if (this->num_query_nodes() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->num_query_nodes(), output);
  }

  // repeated string insert_channelIDs = 3;
  for (int i = 0, n = this->insert_channelids_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->insert_channelids(i).data(), static_cast<int>(this->insert_channelids(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.TenantMeta.insert_channelIDs");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteString(
      3, this->insert_channelids(i), output);
  }

  // string query_channelID = 4;
  if (this->query_channelid().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->query_channelid().data(), static_cast<int>(this->query_channelid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.TenantMeta.query_channelID");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->query_channelid(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:milvus.proto.etcd.TenantMeta)
}

::PROTOBUF_NAMESPACE_ID::uint8* TenantMeta::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:milvus.proto.etcd.TenantMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->id(), target);
  }

  // int64 num_query_nodes = 2;
  if (this->num_query_nodes() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->num_query_nodes(), target);
  }

  // repeated string insert_channelIDs = 3;
  for (int i = 0, n = this->insert_channelids_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->insert_channelids(i).data(), static_cast<int>(this->insert_channelids(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.TenantMeta.insert_channelIDs");
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteStringToArray(3, this->insert_channelids(i), target);
  }

  // string query_channelID = 4;
  if (this->query_channelid().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->query_channelid().data(), static_cast<int>(this->query_channelid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.TenantMeta.query_channelID");
    target =
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray(
        4, this->query_channelid(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:milvus.proto.etcd.TenantMeta)
  return target;
}

size_t TenantMeta::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.etcd.TenantMeta)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string insert_channelIDs = 3;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->insert_channelids_size());
  for (int i = 0, n = this->insert_channelids_size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      this->insert_channelids(i));
  }

  // string query_channelID = 4;
  if (this->query_channelid().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->query_channelid());
  }

  // int64 ID = 1;
  if (this->id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->id());
  }

  // int64 num_query_nodes = 2;
  if (this->num_query_nodes() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->num_query_nodes());
  }

  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TenantMeta::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.etcd.TenantMeta)
  GOOGLE_DCHECK_NE(&from, this);
  const TenantMeta* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TenantMeta>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.etcd.TenantMeta)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.etcd.TenantMeta)
    MergeFrom(*source);
  }
}

void TenantMeta::MergeFrom(const TenantMeta& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.etcd.TenantMeta)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  insert_channelids_.MergeFrom(from.insert_channelids_);
  if (from.query_channelid().size() > 0) {

    query_channelid_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.query_channelid_);
  }
  if (from.id() != 0) {
    set_id(from.id());
  }
  if (from.num_query_nodes() != 0) {
    set_num_query_nodes(from.num_query_nodes());
  }
}

void TenantMeta::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.etcd.TenantMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void TenantMeta::CopyFrom(const TenantMeta& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.etcd.TenantMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TenantMeta::IsInitialized() const {
  return true;
}

void TenantMeta::InternalSwap(TenantMeta* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  insert_channelids_.InternalSwap(CastToBase(&other->insert_channelids_));
  query_channelid_.Swap(&other->query_channelid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(id_, other->id_);
  swap(num_query_nodes_, other->num_query_nodes_);
}

::PROTOBUF_NAMESPACE_ID::Metadata TenantMeta::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

void ProxyMeta::InitAsDefaultInstance() {
  ::milvus::proto::etcd::_ProxyMeta_default_instance_._instance.get_mutable()->address_ = const_cast< ::milvus::proto::common::Address*>(
      ::milvus::proto::common::Address::internal_default_instance());
}
class ProxyMeta::_Internal {
 public:
  static const ::milvus::proto::common::Address& address(const ProxyMeta* msg);
};

const ::milvus::proto::common::Address&
ProxyMeta::_Internal::address(const ProxyMeta* msg) {
  return *msg->address_;
}
void ProxyMeta::clear_address() {
  if (GetArenaNoVirtual() == nullptr && address_ != nullptr) {
    delete address_;
  }
  address_ = nullptr;
}
ProxyMeta::ProxyMeta()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:milvus.proto.etcd.ProxyMeta)
}
ProxyMeta::ProxyMeta(const ProxyMeta& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr),
      result_channelids_(from.result_channelids_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_address()) {
    address_ = new ::milvus::proto::common::Address(*from.address_);
  } else {
    address_ = nullptr;
  }
  id_ = from.id_;
  // @@protoc_insertion_point(copy_constructor:milvus.proto.etcd.ProxyMeta)
}

void ProxyMeta::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ProxyMeta_etcd_5fmeta_2eproto.base);
  ::memset(&address_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&id_) -
      reinterpret_cast<char*>(&address_)) + sizeof(id_));
}

ProxyMeta::~ProxyMeta() {
  // @@protoc_insertion_point(destructor:milvus.proto.etcd.ProxyMeta)
  SharedDtor();
}

void ProxyMeta::SharedDtor() {
  if (this != internal_default_instance()) delete address_;
}

void ProxyMeta::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ProxyMeta& ProxyMeta::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ProxyMeta_etcd_5fmeta_2eproto.base);
  return *internal_default_instance();
}


void ProxyMeta::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.etcd.ProxyMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  result_channelids_.Clear();
  if (GetArenaNoVirtual() == nullptr && address_ != nullptr) {
    delete address_;
  }
  address_ = nullptr;
  id_ = PROTOBUF_LONGLONG(0);
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* ProxyMeta::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 ID = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .milvus.proto.common.Address address = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(mutable_address(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated string result_channelIDs = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_result_channelids(), ptr, ctx, "milvus.proto.etcd.ProxyMeta.result_channelIDs");
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool ProxyMeta::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:milvus.proto.etcd.ProxyMeta)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int64 ID = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .milvus.proto.common.Address address = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
               input, mutable_address()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string result_channelIDs = 3;
      case 3: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->add_result_channelids()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->result_channelids(this->result_channelids_size() - 1).data(),
            static_cast<int>(this->result_channelids(this->result_channelids_size() - 1).length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.ProxyMeta.result_channelIDs"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:milvus.proto.etcd.ProxyMeta)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:milvus.proto.etcd.ProxyMeta)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void ProxyMeta::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:milvus.proto.etcd.ProxyMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(1, this->id(), output);
  }

  // .milvus.proto.common.Address address = 2;
  if (this->has_address()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, _Internal::address(this), output);
  }

  // repeated string result_channelIDs = 3;
  for (int i = 0, n = this->result_channelids_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->result_channelids(i).data(), static_cast<int>(this->result_channelids(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.ProxyMeta.result_channelIDs");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteString(
      3, this->result_channelids(i), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:milvus.proto.etcd.ProxyMeta)
}

::PROTOBUF_NAMESPACE_ID::uint8* ProxyMeta::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:milvus.proto.etcd.ProxyMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->id(), target);
  }

  // .milvus.proto.common.Address address = 2;
  if (this->has_address()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        2, _Internal::address(this), target);
  }

  // repeated string result_channelIDs = 3;
  for (int i = 0, n = this->result_channelids_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->result_channelids(i).data(), static_cast<int>(this->result_channelids(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.ProxyMeta.result_channelIDs");
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteStringToArray(3, this->result_channelids(i), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:milvus.proto.etcd.ProxyMeta)
  return target;
}

size_t ProxyMeta::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.etcd.ProxyMeta)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string result_channelIDs = 3;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->result_channelids_size());
  for (int i = 0, n = this->result_channelids_size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      this->result_channelids(i));
  }

  // .milvus.proto.common.Address address = 2;
  if (this->has_address()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *address_);
  }

  // int64 ID = 1;
  if (this->id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->id());
  }

  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ProxyMeta::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.etcd.ProxyMeta)
  GOOGLE_DCHECK_NE(&from, this);
  const ProxyMeta* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ProxyMeta>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.etcd.ProxyMeta)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.etcd.ProxyMeta)
    MergeFrom(*source);
  }
}

void ProxyMeta::MergeFrom(const ProxyMeta& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.etcd.ProxyMeta)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  result_channelids_.MergeFrom(from.result_channelids_);
  if (from.has_address()) {
    mutable_address()->::milvus::proto::common::Address::MergeFrom(from.address());
  }
  if (from.id() != 0) {
    set_id(from.id());
  }
}

void ProxyMeta::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.etcd.ProxyMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ProxyMeta::CopyFrom(const ProxyMeta& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.etcd.ProxyMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ProxyMeta::IsInitialized() const {
  return true;
}

void ProxyMeta::InternalSwap(ProxyMeta* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  result_channelids_.InternalSwap(CastToBase(&other->result_channelids_));
  swap(address_, other->address_);
  swap(id_, other->id_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ProxyMeta::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

void IndexInfo::InitAsDefaultInstance() {
}
class IndexInfo::_Internal {
 public:
};

void IndexInfo::clear_index_params() {
  index_params_.Clear();
}
IndexInfo::IndexInfo()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:milvus.proto.etcd.IndexInfo)
}
IndexInfo::IndexInfo(const IndexInfo& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr),
      index_params_(from.index_params_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  index_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from.index_name().empty()) {
    index_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.index_name_);
  }
  indexid_ = from.indexid_;
  // @@protoc_insertion_point(copy_constructor:milvus.proto.etcd.IndexInfo)
}

void IndexInfo::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_IndexInfo_etcd_5fmeta_2eproto.base);
  index_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  indexid_ = PROTOBUF_LONGLONG(0);
}

IndexInfo::~IndexInfo() {
  // @@protoc_insertion_point(destructor:milvus.proto.etcd.IndexInfo)
  SharedDtor();
}

void IndexInfo::SharedDtor() {
  index_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void IndexInfo::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const IndexInfo& IndexInfo::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_IndexInfo_etcd_5fmeta_2eproto.base);
  return *internal_default_instance();
}


void IndexInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.etcd.IndexInfo)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  index_params_.Clear();
  index_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  indexid_ = PROTOBUF_LONGLONG(0);
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* IndexInfo::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // string index_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_index_name(), ptr, ctx, "milvus.proto.etcd.IndexInfo.index_name");
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 indexID = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          indexid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .milvus.proto.common.KeyValuePair index_params = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(add_index_params(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool IndexInfo::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:milvus.proto.etcd.IndexInfo)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // string index_name = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->mutable_index_name()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->index_name().data(), static_cast<int>(this->index_name().length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.IndexInfo.index_name"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 indexID = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &indexid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .milvus.proto.common.KeyValuePair index_params = 3;
      case 3: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
                input, add_index_params()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:milvus.proto.etcd.IndexInfo)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:milvus.proto.etcd.IndexInfo)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void IndexInfo::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:milvus.proto.etcd.IndexInfo)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string index_name = 1;
  if (this->index_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->index_name().data(), static_cast<int>(this->index_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.IndexInfo.index_name");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->index_name(), output);
  }

  // int64 indexID = 2;
  if (this->indexid() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->indexid(), output);
  }

  // repeated .milvus.proto.common.KeyValuePair index_params = 3;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->index_params_size()); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      3,
      this->index_params(static_cast<int>(i)),
      output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:milvus.proto.etcd.IndexInfo)
}

::PROTOBUF_NAMESPACE_ID::uint8* IndexInfo::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:milvus.proto.etcd.IndexInfo)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string index_name = 1;
  if (this->index_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->index_name().data(), static_cast<int>(this->index_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.IndexInfo.index_name");
    target =
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray(
        1, this->index_name(), target);
  }

  // int64 indexID = 2;
  if (this->indexid() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->indexid(), target);
  }

  // repeated .milvus.proto.common.KeyValuePair index_params = 3;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->index_params_size()); i < n; i++) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        3, this->index_params(static_cast<int>(i)), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:milvus.proto.etcd.IndexInfo)
  return target;
}

size_t IndexInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.etcd.IndexInfo)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .milvus.proto.common.KeyValuePair index_params = 3;
  {
    unsigned int count = static_cast<unsigned int>(this->index_params_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          this->index_params(static_cast<int>(i)));
    }
  }

  // string index_name = 1;
  if (this->index_name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->index_name());
  }

  // int64 indexID = 2;
  if (this->indexid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->indexid());
  }

  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void IndexInfo::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.etcd.IndexInfo)
  GOOGLE_DCHECK_NE(&from, this);
  const IndexInfo* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<IndexInfo>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.etcd.IndexInfo)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.etcd.IndexInfo)
    MergeFrom(*source);
  }
}

void IndexInfo::MergeFrom(const IndexInfo& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.etcd.IndexInfo)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  index_params_.MergeFrom(from.index_params_);
  if (from.index_name().size() > 0) {

    index_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.index_name_);
  }
  if (from.indexid() != 0) {
    set_indexid(from.indexid());
  }
}

void IndexInfo::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.etcd.IndexInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void IndexInfo::CopyFrom(const IndexInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.etcd.IndexInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool IndexInfo::IsInitialized() const {
  return true;
}

void IndexInfo::InternalSwap(IndexInfo* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  CastToBase(&index_params_)->InternalSwap(CastToBase(&other->index_params_));
  index_name_.Swap(&other->index_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(indexid_, other->indexid_);
}

::PROTOBUF_NAMESPACE_ID::Metadata IndexInfo::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

void FieldIndexInfo::InitAsDefaultInstance() {
}
class FieldIndexInfo::_Internal {
 public:
};

FieldIndexInfo::FieldIndexInfo()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:milvus.proto.etcd.FieldIndexInfo)
}
FieldIndexInfo::FieldIndexInfo(const FieldIndexInfo& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&filedid_, &from.filedid_,
    static_cast<size_t>(reinterpret_cast<char*>(&indexid_) -
    reinterpret_cast<char*>(&filedid_)) + sizeof(indexid_));
  // @@protoc_insertion_point(copy_constructor:milvus.proto.etcd.FieldIndexInfo)
}

void FieldIndexInfo::SharedCtor() {
  ::memset(&filedid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&indexid_) -
      reinterpret_cast<char*>(&filedid_)) + sizeof(indexid_));
}

FieldIndexInfo::~FieldIndexInfo() {
  // @@protoc_insertion_point(destructor:milvus.proto.etcd.FieldIndexInfo)
  SharedDtor();
}

void FieldIndexInfo::SharedDtor() {
}

void FieldIndexInfo::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const FieldIndexInfo& FieldIndexInfo::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_FieldIndexInfo_etcd_5fmeta_2eproto.base);
  return *internal_default_instance();
}


void FieldIndexInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.etcd.FieldIndexInfo)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&filedid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&indexid_) -
      reinterpret_cast<char*>(&filedid_)) + sizeof(indexid_));
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* FieldIndexInfo::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 filedID = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          filedid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 indexID = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          indexid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool FieldIndexInfo::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:milvus.proto.etcd.FieldIndexInfo)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int64 filedID = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &filedid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 indexID = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &indexid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:milvus.proto.etcd.FieldIndexInfo)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:milvus.proto.etcd.FieldIndexInfo)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void FieldIndexInfo::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:milvus.proto.etcd.FieldIndexInfo)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 filedID = 1;
  if (this->filedid() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(1, this->filedid(), output);
  }

  // int64 indexID = 2;
  if (this->indexid() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->indexid(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:milvus.proto.etcd.FieldIndexInfo)
}

::PROTOBUF_NAMESPACE_ID::uint8* FieldIndexInfo::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:milvus.proto.etcd.FieldIndexInfo)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 filedID = 1;
  if (this->filedid() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->filedid(), target);
  }

  // int64 indexID = 2;
  if (this->indexid() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->indexid(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:milvus.proto.etcd.FieldIndexInfo)
  return target;
}

size_t FieldIndexInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.etcd.FieldIndexInfo)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // int64 filedID = 1;
  if (this->filedid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->filedid());
  }

  // int64 indexID = 2;
  if (this->indexid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->indexid());
  }

  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void FieldIndexInfo::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.etcd.FieldIndexInfo)
  GOOGLE_DCHECK_NE(&from, this);
  const FieldIndexInfo* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<FieldIndexInfo>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.etcd.FieldIndexInfo)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.etcd.FieldIndexInfo)
    MergeFrom(*source);
  }
}

void FieldIndexInfo::MergeFrom(const FieldIndexInfo& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.etcd.FieldIndexInfo)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.filedid() != 0) {
    set_filedid(from.filedid());
  }
  if (from.indexid() != 0) {
    set_indexid(from.indexid());
  }
}

void FieldIndexInfo::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.etcd.FieldIndexInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void FieldIndexInfo::CopyFrom(const FieldIndexInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.etcd.FieldIndexInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FieldIndexInfo::IsInitialized() const {
  return true;
}

void FieldIndexInfo::InternalSwap(FieldIndexInfo* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(filedid_, other->filedid_);
  swap(indexid_, other->indexid_);
}

::PROTOBUF_NAMESPACE_ID::Metadata FieldIndexInfo::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

void CollectionInfo::InitAsDefaultInstance() {
  ::milvus::proto::etcd::_CollectionInfo_default_instance_._instance.get_mutable()->schema_ = const_cast< ::milvus::proto::schema::CollectionSchema*>(
      ::milvus::proto::schema::CollectionSchema::internal_default_instance());
}
class CollectionInfo::_Internal {
 public:
  static const ::milvus::proto::schema::CollectionSchema& schema(const CollectionInfo* msg);
};

const ::milvus::proto::schema::CollectionSchema&
CollectionInfo::_Internal::schema(const CollectionInfo* msg) {
  return *msg->schema_;
}
void CollectionInfo::clear_schema() {
  if (GetArenaNoVirtual() == nullptr && schema_ != nullptr) {
    delete schema_;
  }
  schema_ = nullptr;
}
void CollectionInfo::clear_start_positions() {
  start_positions_.Clear();
}
CollectionInfo::CollectionInfo()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:milvus.proto.etcd.CollectionInfo)
}
CollectionInfo::CollectionInfo(const CollectionInfo& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr),
      partitionids_(from.partitionids_),
      partitionnames_(from.partitionnames_),
      field_indexes_(from.field_indexes_),
      virtual_channel_names_(from.virtual_channel_names_),
      physical_channel_names_(from.physical_channel_names_),
      partition_created_timestamps_(from.partition_created_timestamps_),
      start_positions_(from.start_positions_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_schema()) {
    schema_ = new ::milvus::proto::schema::CollectionSchema(*from.schema_);
  } else {
    schema_ = nullptr;
  }
  ::memcpy(&id_, &from.id_,
    static_cast<size_t>(reinterpret_cast<char*>(&shards_num_) -
    reinterpret_cast<char*>(&id_)) + sizeof(shards_num_));
  // @@protoc_insertion_point(copy_constructor:milvus.proto.etcd.CollectionInfo)
}

void CollectionInfo::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_CollectionInfo_etcd_5fmeta_2eproto.base);
  ::memset(&schema_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&shards_num_) -
      reinterpret_cast<char*>(&schema_)) + sizeof(shards_num_));
}

CollectionInfo::~CollectionInfo() {
  // @@protoc_insertion_point(destructor:milvus.proto.etcd.CollectionInfo)
  SharedDtor();
}

void CollectionInfo::SharedDtor() {
  if (this != internal_default_instance()) delete schema_;
}

void CollectionInfo::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CollectionInfo& CollectionInfo::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_CollectionInfo_etcd_5fmeta_2eproto.base);
  return *internal_default_instance();
}


void CollectionInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.etcd.CollectionInfo)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  partitionids_.Clear();
  partitionnames_.Clear();
  field_indexes_.Clear();
  virtual_channel_names_.Clear();
  physical_channel_names_.Clear();
  partition_created_timestamps_.Clear();
  start_positions_.Clear();
  if (GetArenaNoVirtual() == nullptr && schema_ != nullptr) {
    delete schema_;
  }
  schema_ = nullptr;
  ::memset(&id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&shards_num_) -
      reinterpret_cast<char*>(&id_)) + sizeof(shards_num_));
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* CollectionInfo::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 ID = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .milvus.proto.schema.CollectionSchema schema = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(mutable_schema(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint64 create_time = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          create_time_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated int64 partitionIDs = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_partitionids(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
          add_partitionids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated string partitionNames = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_partitionnames(), ptr, ctx, "milvus.proto.etcd.CollectionInfo.partitionNames");
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42);
        } else goto handle_unusual;
        continue;
      // repeated .milvus.proto.etcd.FieldIndexInfo field_indexes = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(add_field_indexes(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 50);
        } else goto handle_unusual;
        continue;
      // repeated string virtual_channel_names = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_virtual_channel_names(), ptr, ctx, "milvus.proto.etcd.CollectionInfo.virtual_channel_names");
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 58);
        } else goto handle_unusual;
        continue;
      // repeated string physical_channel_names = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_physical_channel_names(), ptr, ctx, "milvus.proto.etcd.CollectionInfo.physical_channel_names");
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 66);
        } else goto handle_unusual;
        continue;
      // repeated uint64 partition_created_timestamps = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(mutable_partition_created_timestamps(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72) {
          add_partition_created_timestamps(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 shards_num = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          shards_num_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .milvus.proto.common.KeyDataPair start_positions = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(add_start_positions(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 90);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool CollectionInfo::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:milvus.proto.etcd.CollectionInfo)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int64 ID = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .milvus.proto.schema.CollectionSchema schema = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
               input, mutable_schema()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // uint64 create_time = 3;
      case 3: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
                 input, &create_time_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated int64 partitionIDs = 4;
      case 4: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (34 & 0xFF)) {
          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, this->mutable_partitionids())));
        } else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (32 & 0xFF)) {
          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 1, 34u, input, this->mutable_partitionids())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string partitionNames = 5;
      case 5: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (42 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->add_partitionnames()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->partitionnames(this->partitionnames_size() - 1).data(),
            static_cast<int>(this->partitionnames(this->partitionnames_size() - 1).length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.CollectionInfo.partitionNames"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .milvus.proto.etcd.FieldIndexInfo field_indexes = 6;
      case 6: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (50 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
                input, add_field_indexes()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string virtual_channel_names = 7;
      case 7: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (58 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->add_virtual_channel_names()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->virtual_channel_names(this->virtual_channel_names_size() - 1).data(),
            static_cast<int>(this->virtual_channel_names(this->virtual_channel_names_size() - 1).length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.CollectionInfo.virtual_channel_names"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string physical_channel_names = 8;
      case 8: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (66 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->add_physical_channel_names()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->physical_channel_names(this->physical_channel_names_size() - 1).data(),
            static_cast<int>(this->physical_channel_names(this->physical_channel_names_size() - 1).length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.CollectionInfo.physical_channel_names"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated uint64 partition_created_timestamps = 9;
      case 9: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (74 & 0xFF)) {
          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
                 input, this->mutable_partition_created_timestamps())));
        } else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (72 & 0xFF)) {
          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
                 1, 74u, input, this->mutable_partition_created_timestamps())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 shards_num = 10;
      case 10: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (80 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32>(
                 input, &shards_num_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .milvus.proto.common.KeyDataPair start_positions = 11;
      case 11: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (90 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
                input, add_start_positions()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:milvus.proto.etcd.CollectionInfo)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:milvus.proto.etcd.CollectionInfo)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void CollectionInfo::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:milvus.proto.etcd.CollectionInfo)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(1, this->id(), output);
  }

  // .milvus.proto.schema.CollectionSchema schema = 2;
  if (this->has_schema()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, _Internal::schema(this), output);
  }

  // uint64 create_time = 3;
  if (this->create_time() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(3, this->create_time(), output);
  }

  // repeated int64 partitionIDs = 4;
  if (this->partitionids_size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(4, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
    output->WriteVarint32(_partitionids_cached_byte_size_.load(
        std::memory_order_relaxed));
  }
  for (int i = 0, n = this->partitionids_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag(
      this->partitionids(i), output);
  }

  // repeated string partitionNames = 5;
  for (int i = 0, n = this->partitionnames_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->partitionnames(i).data(), static_cast<int>(this->partitionnames(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.CollectionInfo.partitionNames");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteString(
      5, this->partitionnames(i), output);
  }

  // repeated .milvus.proto.etcd.FieldIndexInfo field_indexes = 6;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->field_indexes_size()); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      6,
      this->field_indexes(static_cast<int>(i)),
      output);
  }

  // repeated string virtual_channel_names = 7;
  for (int i = 0, n = this->virtual_channel_names_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->virtual_channel_names(i).data(), static_cast<int>(this->virtual_channel_names(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.CollectionInfo.virtual_channel_names");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteString(
      7, this->virtual_channel_names(i), output);
  }

  // repeated string physical_channel_names = 8;
  for (int i = 0, n = this->physical_channel_names_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->physical_channel_names(i).data(), static_cast<int>(this->physical_channel_names(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.CollectionInfo.physical_channel_names");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteString(
      8, this->physical_channel_names(i), output);
  }

  // repeated uint64 partition_created_timestamps = 9;
  if (this->partition_created_timestamps_size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(9, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
    output->WriteVarint32(_partition_created_timestamps_cached_byte_size_.load(
        std::memory_order_relaxed));
  }
  for (int i = 0, n = this->partition_created_timestamps_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64NoTag(
      this->partition_created_timestamps(i), output);
  }

  // int32 shards_num = 10;
  if (this->shards_num() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32(10, this->shards_num(), output);
  }

  // repeated .milvus.proto.common.KeyDataPair start_positions = 11;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->start_positions_size()); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      11,
      this->start_positions(static_cast<int>(i)),
      output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:milvus.proto.etcd.CollectionInfo)
}

::PROTOBUF_NAMESPACE_ID::uint8* CollectionInfo::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:milvus.proto.etcd.CollectionInfo)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->id(), target);
  }

  // .milvus.proto.schema.CollectionSchema schema = 2;
  if (this->has_schema()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        2, _Internal::schema(this), target);
  }

  // uint64 create_time = 3;
  if (this->create_time() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->create_time(), target);
  }

  // repeated int64 partitionIDs = 4;
  if (this->partitionids_size() > 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray(
      4,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
      target);
    target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray(
        _partitionids_cached_byte_size_.load(std::memory_order_relaxed),
         target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteInt64NoTagToArray(this->partitionids_, target);
  }

  // repeated string partitionNames = 5;
  for (int i = 0, n = this->partitionnames_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->partitionnames(i).data(), static_cast<int>(this->partitionnames(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.CollectionInfo.partitionNames");
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteStringToArray(5, this->partitionnames(i), target);
  }

  // repeated .milvus.proto.etcd.FieldIndexInfo field_indexes = 6;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->field_indexes_size()); i < n; i++) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        6, this->field_indexes(static_cast<int>(i)), target);
  }

  // repeated string virtual_channel_names = 7;
  for (int i = 0, n = this->virtual_channel_names_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->virtual_channel_names(i).data(), static_cast<int>(this->virtual_channel_names(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.CollectionInfo.virtual_channel_names");
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteStringToArray(7, this->virtual_channel_names(i), target);
  }

  // repeated string physical_channel_names = 8;
  for (int i = 0, n = this->physical_channel_names_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->physical_channel_names(i).data(), static_cast<int>(this->physical_channel_names(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.CollectionInfo.physical_channel_names");
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteStringToArray(8, this->physical_channel_names(i), target);
  }

  // repeated uint64 partition_created_timestamps = 9;
  if (this->partition_created_timestamps_size() > 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray(
      9,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
      target);
    target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray(
        _partition_created_timestamps_cached_byte_size_.load(std::memory_order_relaxed),
         target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteUInt64NoTagToArray(this->partition_created_timestamps_, target);
  }

  // int32 shards_num = 10;
  if (this->shards_num() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->shards_num(), target);
  }

  // repeated .milvus.proto.common.KeyDataPair start_positions = 11;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->start_positions_size()); i < n; i++) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        11, this->start_positions(static_cast<int>(i)), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:milvus.proto.etcd.CollectionInfo)
  return target;
}

size_t CollectionInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.etcd.CollectionInfo)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated int64 partitionIDs = 4;
  {
    size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      Int64Size(this->partitionids_);
    if (data_size > 0) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
            static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
    _partitionids_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated string partitionNames = 5;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->partitionnames_size());
  for (int i = 0, n = this->partitionnames_size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      this->partitionnames(i));
  }

  // repeated .milvus.proto.etcd.FieldIndexInfo field_indexes = 6;
  {
    unsigned int count = static_cast<unsigned int>(this->field_indexes_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          this->field_indexes(static_cast<int>(i)));
    }
  }

  // repeated string virtual_channel_names = 7;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->virtual_channel_names_size());
  for (int i = 0, n = this->virtual_channel_names_size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      this->virtual_channel_names(i));
  }

  // repeated string physical_channel_names = 8;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->physical_channel_names_size());
  for (int i = 0, n = this->physical_channel_names_size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      this->physical_channel_names(i));
  }

  // repeated uint64 partition_created_timestamps = 9;
  {
    size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      UInt64Size(this->partition_created_timestamps_);
    if (data_size > 0) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
            static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
    _partition_created_timestamps_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated .milvus.proto.common.KeyDataPair start_positions = 11;
  {
    unsigned int count = static_cast<unsigned int>(this->start_positions_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          this->start_positions(static_cast<int>(i)));
    }
  }

  // .milvus.proto.schema.CollectionSchema schema = 2;
  if (this->has_schema()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *schema_);
  }

  // int64 ID = 1;
  if (this->id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->id());
  }

  // uint64 create_time = 3;
  if (this->create_time() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->create_time());
  }

  // int32 shards_num = 10;
  if (this->shards_num() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->shards_num());
  }

  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CollectionInfo::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.etcd.CollectionInfo)
  GOOGLE_DCHECK_NE(&from, this);
  const CollectionInfo* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CollectionInfo>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.etcd.CollectionInfo)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.etcd.CollectionInfo)
    MergeFrom(*source);
  }
}

void CollectionInfo::MergeFrom(const CollectionInfo& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.etcd.CollectionInfo)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  partitionids_.MergeFrom(from.partitionids_);
  partitionnames_.MergeFrom(from.partitionnames_);
  field_indexes_.MergeFrom(from.field_indexes_);
  virtual_channel_names_.MergeFrom(from.virtual_channel_names_);
  physical_channel_names_.MergeFrom(from.physical_channel_names_);
  partition_created_timestamps_.MergeFrom(from.partition_created_timestamps_);
  start_positions_.MergeFrom(from.start_positions_);
  if (from.has_schema()) {
    mutable_schema()->::milvus::proto::schema::CollectionSchema::MergeFrom(from.schema());
  }
  if (from.id() != 0) {
    set_id(from.id());
  }
  if (from.create_time() != 0) {
    set_create_time(from.create_time());
  }
  if (from.shards_num() != 0) {
    set_shards_num(from.shards_num());
  }
}

void CollectionInfo::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.etcd.CollectionInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CollectionInfo::CopyFrom(const CollectionInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.etcd.CollectionInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CollectionInfo::IsInitialized() const {
  return true;
}

void CollectionInfo::InternalSwap(CollectionInfo* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  partitionids_.InternalSwap(&other->partitionids_);
  partitionnames_.InternalSwap(CastToBase(&other->partitionnames_));
  CastToBase(&field_indexes_)->InternalSwap(CastToBase(&other->field_indexes_));
  virtual_channel_names_.InternalSwap(CastToBase(&other->virtual_channel_names_));
  physical_channel_names_.InternalSwap(CastToBase(&other->physical_channel_names_));
  partition_created_timestamps_.InternalSwap(&other->partition_created_timestamps_);
  CastToBase(&start_positions_)->InternalSwap(CastToBase(&other->start_positions_));
  swap(schema_, other->schema_);
  swap(id_, other->id_);
  swap(create_time_, other->create_time_);
  swap(shards_num_, other->shards_num_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CollectionInfo::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

void SegmentIndexInfo::InitAsDefaultInstance() {
}
class SegmentIndexInfo::_Internal {
 public:
};

SegmentIndexInfo::SegmentIndexInfo()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:milvus.proto.etcd.SegmentIndexInfo)
}
SegmentIndexInfo::SegmentIndexInfo(const SegmentIndexInfo& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&collectionid_, &from.collectionid_,
    static_cast<size_t>(reinterpret_cast<char*>(&enable_index_) -
    reinterpret_cast<char*>(&collectionid_)) + sizeof(enable_index_));
  // @@protoc_insertion_point(copy_constructor:milvus.proto.etcd.SegmentIndexInfo)
}

void SegmentIndexInfo::SharedCtor() {
  ::memset(&collectionid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&enable_index_) -
      reinterpret_cast<char*>(&collectionid_)) + sizeof(enable_index_));
}

SegmentIndexInfo::~SegmentIndexInfo() {
  // @@protoc_insertion_point(destructor:milvus.proto.etcd.SegmentIndexInfo)
  SharedDtor();
}

void SegmentIndexInfo::SharedDtor() {
}

void SegmentIndexInfo::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const SegmentIndexInfo& SegmentIndexInfo::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_SegmentIndexInfo_etcd_5fmeta_2eproto.base);
  return *internal_default_instance();
}


void SegmentIndexInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.etcd.SegmentIndexInfo)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&collectionid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&enable_index_) -
      reinterpret_cast<char*>(&collectionid_)) + sizeof(enable_index_));
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* SegmentIndexInfo::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 collectionID = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          collectionid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 partitionID = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          partitionid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 segmentID = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          segmentid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 fieldID = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          fieldid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 indexID = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          indexid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 buildID = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          buildid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool enable_index = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          enable_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool SegmentIndexInfo::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:milvus.proto.etcd.SegmentIndexInfo)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int64 collectionID = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &collectionid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 partitionID = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &partitionid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 segmentID = 3;
      case 3: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &segmentid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 fieldID = 4;
      case 4: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (32 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &fieldid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 indexID = 5;
      case 5: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (40 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &indexid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 buildID = 6;
      case 6: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (48 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &buildid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // bool enable_index = 7;
      case 7: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (56 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   bool, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_BOOL>(
                 input, &enable_index_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:milvus.proto.etcd.SegmentIndexInfo)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:milvus.proto.etcd.SegmentIndexInfo)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void SegmentIndexInfo::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:milvus.proto.etcd.SegmentIndexInfo)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 collectionID = 1;
  if (this->collectionid() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(1, this->collectionid(), output);
  }

  // int64 partitionID = 2;
  if (this->partitionid() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->partitionid(), output);
  }

  // int64 segmentID = 3;
  if (this->segmentid() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(3, this->segmentid(), output);
  }

  // int64 fieldID = 4;
  if (this->fieldid() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(4, this->fieldid(), output);
  }

  // int64 indexID = 5;
  if (this->indexid() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(5, this->indexid(), output);
  }

  // int64 buildID = 6;
  if (this->buildid() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(6, this->buildid(), output);
  }

  // bool enable_index = 7;
  if (this->enable_index() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBool(7, this->enable_index(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:milvus.proto.etcd.SegmentIndexInfo)
}

::PROTOBUF_NAMESPACE_ID::uint8* SegmentIndexInfo::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:milvus.proto.etcd.SegmentIndexInfo)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 collectionID = 1;
  if (this->collectionid() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->collectionid(), target);
  }

  // int64 partitionID = 2;
  if (this->partitionid() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->partitionid(), target);
  }

  // int64 segmentID = 3;
  if (this->segmentid() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->segmentid(), target);
  }

  // int64 fieldID = 4;
  if (this->fieldid() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->fieldid(), target);
  }

  // int64 indexID = 5;
  if (this->indexid() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(5, this->indexid(), target);
  }

  // int64 buildID = 6;
  if (this->buildid() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(6, this->buildid(), target);
  }

  // bool enable_index = 7;
  if (this->enable_index() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->enable_index(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:milvus.proto.etcd.SegmentIndexInfo)
  return target;
}

size_t SegmentIndexInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.etcd.SegmentIndexInfo)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // int64 collectionID = 1;
  if (this->collectionid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->collectionid());
  }

  // int64 partitionID = 2;
  if (this->partitionid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->partitionid());
  }

  // int64 segmentID = 3;
  if (this->segmentid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->segmentid());
  }

  // int64 fieldID = 4;
  if (this->fieldid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->fieldid());
  }

  // int64 indexID = 5;
  if (this->indexid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->indexid());
  }

  // int64 buildID = 6;
  if (this->buildid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->buildid());
  }

  // bool enable_index = 7;
  if (this->enable_index() != 0) {
    total_size += 1 + 1;
  }

  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void SegmentIndexInfo::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.etcd.SegmentIndexInfo)
  GOOGLE_DCHECK_NE(&from, this);
  const SegmentIndexInfo* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SegmentIndexInfo>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.etcd.SegmentIndexInfo)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.etcd.SegmentIndexInfo)
    MergeFrom(*source);
  }
}

void SegmentIndexInfo::MergeFrom(const SegmentIndexInfo& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.etcd.SegmentIndexInfo)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.collectionid() != 0) {
    set_collectionid(from.collectionid());
  }
  if (from.partitionid() != 0) {
    set_partitionid(from.partitionid());
  }
  if (from.segmentid() != 0) {
    set_segmentid(from.segmentid());
  }
  if (from.fieldid() != 0) {
    set_fieldid(from.fieldid());
  }
  if (from.indexid() != 0) {
    set_indexid(from.indexid());
  }
  if (from.buildid() != 0) {
    set_buildid(from.buildid());
  }
  if (from.enable_index() != 0) {
    set_enable_index(from.enable_index());
  }
}

void SegmentIndexInfo::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.etcd.SegmentIndexInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void SegmentIndexInfo::CopyFrom(const SegmentIndexInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.etcd.SegmentIndexInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool SegmentIndexInfo::IsInitialized() const {
  return true;
}

void SegmentIndexInfo::InternalSwap(SegmentIndexInfo* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(collectionid_, other->collectionid_);
  swap(partitionid_, other->partitionid_);
  swap(segmentid_, other->segmentid_);
  swap(fieldid_, other->fieldid_);
  swap(indexid_, other->indexid_);
  swap(buildid_, other->buildid_);
  swap(enable_index_, other->enable_index_);
}

::PROTOBUF_NAMESPACE_ID::Metadata SegmentIndexInfo::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

void CollectionMeta::InitAsDefaultInstance() {
  ::milvus::proto::etcd::_CollectionMeta_default_instance_._instance.get_mutable()->schema_ = const_cast< ::milvus::proto::schema::CollectionSchema*>(
      ::milvus::proto::schema::CollectionSchema::internal_default_instance());
}
class CollectionMeta::_Internal {
 public:
  static const ::milvus::proto::schema::CollectionSchema& schema(const CollectionMeta* msg);
};

const ::milvus::proto::schema::CollectionSchema&
CollectionMeta::_Internal::schema(const CollectionMeta* msg) {
  return *msg->schema_;
}
void CollectionMeta::clear_schema() {
  if (GetArenaNoVirtual() == nullptr && schema_ != nullptr) {
    delete schema_;
  }
  schema_ = nullptr;
}
CollectionMeta::CollectionMeta()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:milvus.proto.etcd.CollectionMeta)
}
CollectionMeta::CollectionMeta(const CollectionMeta& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr),
      segmentids_(from.segmentids_),
      partition_tags_(from.partition_tags_),
      partitionids_(from.partitionids_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_schema()) {
    schema_ = new ::milvus::proto::schema::CollectionSchema(*from.schema_);
  } else {
    schema_ = nullptr;
  }
  ::memcpy(&id_, &from.id_,
    static_cast<size_t>(reinterpret_cast<char*>(&create_time_) -
    reinterpret_cast<char*>(&id_)) + sizeof(create_time_));
  // @@protoc_insertion_point(copy_constructor:milvus.proto.etcd.CollectionMeta)
}

void CollectionMeta::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_CollectionMeta_etcd_5fmeta_2eproto.base);
  ::memset(&schema_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&create_time_) -
      reinterpret_cast<char*>(&schema_)) + sizeof(create_time_));
}

CollectionMeta::~CollectionMeta() {
  // @@protoc_insertion_point(destructor:milvus.proto.etcd.CollectionMeta)
  SharedDtor();
}

void CollectionMeta::SharedDtor() {
  if (this != internal_default_instance()) delete schema_;
}

void CollectionMeta::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CollectionMeta& CollectionMeta::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_CollectionMeta_etcd_5fmeta_2eproto.base);
  return *internal_default_instance();
}


void CollectionMeta::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.etcd.CollectionMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  segmentids_.Clear();
  partition_tags_.Clear();
  partitionids_.Clear();
  if (GetArenaNoVirtual() == nullptr && schema_ != nullptr) {
    delete schema_;
  }
  schema_ = nullptr;
  ::memset(&id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&create_time_) -
      reinterpret_cast<char*>(&id_)) + sizeof(create_time_));
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* CollectionMeta::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 ID = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .milvus.proto.schema.CollectionSchema schema = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(mutable_schema(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint64 create_time = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          create_time_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated int64 segmentIDs = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_segmentids(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
          add_segmentids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated string partition_tags = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_partition_tags(), ptr, ctx, "milvus.proto.etcd.CollectionMeta.partition_tags");
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42);
        } else goto handle_unusual;
        continue;
      // repeated int64 partitionIDs = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_partitionids(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48) {
          add_partitionids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool CollectionMeta::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:milvus.proto.etcd.CollectionMeta)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int64 ID = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .milvus.proto.schema.CollectionSchema schema = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
               input, mutable_schema()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // uint64 create_time = 3;
      case 3: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
                 input, &create_time_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated int64 segmentIDs = 4;
      case 4: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (34 & 0xFF)) {
          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, this->mutable_segmentids())));
        } else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (32 & 0xFF)) {
          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 1, 34u, input, this->mutable_segmentids())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string partition_tags = 5;
      case 5: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (42 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->add_partition_tags()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->partition_tags(this->partition_tags_size() - 1).data(),
            static_cast<int>(this->partition_tags(this->partition_tags_size() - 1).length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.CollectionMeta.partition_tags"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated int64 partitionIDs = 6;
      case 6: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (50 & 0xFF)) {
          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, this->mutable_partitionids())));
        } else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (48 & 0xFF)) {
          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 1, 50u, input, this->mutable_partitionids())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:milvus.proto.etcd.CollectionMeta)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:milvus.proto.etcd.CollectionMeta)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void CollectionMeta::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:milvus.proto.etcd.CollectionMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(1, this->id(), output);
  }

  // .milvus.proto.schema.CollectionSchema schema = 2;
  if (this->has_schema()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, _Internal::schema(this), output);
  }

  // uint64 create_time = 3;
  if (this->create_time() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(3, this->create_time(), output);
  }

  // repeated int64 segmentIDs = 4;
  if (this->segmentids_size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(4, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
    output->WriteVarint32(_segmentids_cached_byte_size_.load(
        std::memory_order_relaxed));
  }
  for (int i = 0, n = this->segmentids_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag(
      this->segmentids(i), output);
  }

  // repeated string partition_tags = 5;
  for (int i = 0, n = this->partition_tags_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->partition_tags(i).data(), static_cast<int>(this->partition_tags(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.CollectionMeta.partition_tags");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteString(
      5, this->partition_tags(i), output);
  }

  // repeated int64 partitionIDs = 6;
  if (this->partitionids_size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(6, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
    output->WriteVarint32(_partitionids_cached_byte_size_.load(
        std::memory_order_relaxed));
  }
  for (int i = 0, n = this->partitionids_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag(
      this->partitionids(i), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:milvus.proto.etcd.CollectionMeta)
}

::PROTOBUF_NAMESPACE_ID::uint8* CollectionMeta::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:milvus.proto.etcd.CollectionMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->id(), target);
  }

  // .milvus.proto.schema.CollectionSchema schema = 2;
  if (this->has_schema()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        2, _Internal::schema(this), target);
  }

  // uint64 create_time = 3;
  if (this->create_time() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->create_time(), target);
  }

  // repeated int64 segmentIDs = 4;
  if (this->segmentids_size() > 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray(
      4,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
      target);
    target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray(
        _segmentids_cached_byte_size_.load(std::memory_order_relaxed),
         target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteInt64NoTagToArray(this->segmentids_, target);
  }

  // repeated string partition_tags = 5;
  for (int i = 0, n = this->partition_tags_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->partition_tags(i).data(), static_cast<int>(this->partition_tags(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.CollectionMeta.partition_tags");
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteStringToArray(5, this->partition_tags(i), target);
  }

  // repeated int64 partitionIDs = 6;
  if (this->partitionids_size() > 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray(
      6,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
      target);
    target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray(
        _partitionids_cached_byte_size_.load(std::memory_order_relaxed),
         target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteInt64NoTagToArray(this->partitionids_, target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:milvus.proto.etcd.CollectionMeta)
  return target;
}

size_t CollectionMeta::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.etcd.CollectionMeta)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated int64 segmentIDs = 4;
  {
    size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      Int64Size(this->segmentids_);
    if (data_size > 0) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
            static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
    _segmentids_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated string partition_tags = 5;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->partition_tags_size());
  for (int i = 0, n = this->partition_tags_size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      this->partition_tags(i));
  }

  // repeated int64 partitionIDs = 6;
  {
    size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      Int64Size(this->partitionids_);
    if (data_size > 0) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
            static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
    _partitionids_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // .milvus.proto.schema.CollectionSchema schema = 2;
  if (this->has_schema()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *schema_);
  }

  // int64 ID = 1;
  if (this->id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->id());
  }

  // uint64 create_time = 3;
  if (this->create_time() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->create_time());
  }

  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CollectionMeta::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.etcd.CollectionMeta)
  GOOGLE_DCHECK_NE(&from, this);
  const CollectionMeta* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CollectionMeta>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.etcd.CollectionMeta)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.etcd.CollectionMeta)
    MergeFrom(*source);
  }
}

void CollectionMeta::MergeFrom(const CollectionMeta& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.etcd.CollectionMeta)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  segmentids_.MergeFrom(from.segmentids_);
  partition_tags_.MergeFrom(from.partition_tags_);
  partitionids_.MergeFrom(from.partitionids_);
  if (from.has_schema()) {
    mutable_schema()->::milvus::proto::schema::CollectionSchema::MergeFrom(from.schema());
  }
  if (from.id() != 0) {
    set_id(from.id());
  }
  if (from.create_time() != 0) {
    set_create_time(from.create_time());
  }
}

void CollectionMeta::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.etcd.CollectionMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CollectionMeta::CopyFrom(const CollectionMeta& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.etcd.CollectionMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CollectionMeta::IsInitialized() const {
  return true;
}

void CollectionMeta::InternalSwap(CollectionMeta* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  segmentids_.InternalSwap(&other->segmentids_);
  partition_tags_.InternalSwap(CastToBase(&other->partition_tags_));
  partitionids_.InternalSwap(&other->partitionids_);
  swap(schema_, other->schema_);
  swap(id_, other->id_);
  swap(create_time_, other->create_time_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CollectionMeta::GetMetadata() const {
  return GetMetadataStatic();
}


// @@protoc_insertion_point(namespace_scope)
}  // namespace etcd
}  // namespace proto
}  // namespace milvus
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::TenantMeta* Arena::CreateMaybeMessage< ::milvus::proto::etcd::TenantMeta >(Arena* arena) {
  return Arena::CreateInternal< ::milvus::proto::etcd::TenantMeta >(arena);
}
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::ProxyMeta* Arena::CreateMaybeMessage< ::milvus::proto::etcd::ProxyMeta >(Arena* arena) {
  return Arena::CreateInternal< ::milvus::proto::etcd::ProxyMeta >(arena);
}
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::IndexInfo* Arena::CreateMaybeMessage< ::milvus::proto::etcd::IndexInfo >(Arena* arena) {
  return Arena::CreateInternal< ::milvus::proto::etcd::IndexInfo >(arena);
}
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::FieldIndexInfo* Arena::CreateMaybeMessage< ::milvus::proto::etcd::FieldIndexInfo >(Arena* arena) {
  return Arena::CreateInternal< ::milvus::proto::etcd::FieldIndexInfo >(arena);
}
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::CollectionInfo* Arena::CreateMaybeMessage< ::milvus::proto::etcd::CollectionInfo >(Arena* arena) {
  return Arena::CreateInternal< ::milvus::proto::etcd::CollectionInfo >(arena);
}
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::SegmentIndexInfo* Arena::CreateMaybeMessage< ::milvus::proto::etcd::SegmentIndexInfo >(Arena* arena) {
  return Arena::CreateInternal< ::milvus::proto::etcd::SegmentIndexInfo >(arena);
}
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::CollectionMeta* Arena::CreateMaybeMessage< ::milvus::proto::etcd::CollectionMeta >(Arena* arena) {
  return Arena::CreateInternal< ::milvus::proto::etcd::CollectionMeta >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
