提交 4b887cf0 编写于 作者: P peng.xu

Merge branch 'branch-0.4.0' into 'branch-0.4.0'

add PreloadTable and some parameters

See merge request megasearch/milvus!355

Former-commit-id: b9e0a21d137dfb22983d1ed4e71e1f91354bd49c
...@@ -28,6 +28,7 @@ public: ...@@ -28,6 +28,7 @@ public:
virtual Status HasTable(const std::string& table_id, bool& has_or_not_) = 0; virtual Status HasTable(const std::string& table_id, bool& has_or_not_) = 0;
virtual Status AllTables(std::vector<meta::TableSchema>& table_schema_array) = 0; virtual Status AllTables(std::vector<meta::TableSchema>& table_schema_array) = 0;
virtual Status GetTableRowCount(const std::string& table_id, uint64_t& row_count) = 0; virtual Status GetTableRowCount(const std::string& table_id, uint64_t& row_count) = 0;
virtual Status PreloadTable(const std::string& table_id) = 0;
virtual Status InsertVectors(const std::string& table_id_, virtual Status InsertVectors(const std::string& table_id_,
uint64_t n, const float* vectors, IDNumbers& vector_ids_) = 0; uint64_t n, const float* vectors, IDNumbers& vector_ids_) = 0;
......
...@@ -127,6 +127,46 @@ Status DBImpl::AllTables(std::vector<meta::TableSchema>& table_schema_array) { ...@@ -127,6 +127,46 @@ Status DBImpl::AllTables(std::vector<meta::TableSchema>& table_schema_array) {
return meta_ptr_->AllTables(table_schema_array); return meta_ptr_->AllTables(table_schema_array);
} }
Status DBImpl::PreloadTable(const std::string &table_id) {
meta::DatePartionedTableFilesSchema files;
meta::DatesT dates;
auto status = meta_ptr_->FilesToSearch(table_id, dates, files);
if (!status.ok()) {
return status;
}
int64_t size = 0;
int64_t cache_total = cache::CpuCacheMgr::GetInstance()->CacheCapacity();
int64_t cache_usage = cache::CpuCacheMgr::GetInstance()->CacheUsage();
int64_t available_size = cache_total - cache_usage;
for(auto &day_files : files) {
for (auto &file : day_files.second) {
ExecutionEnginePtr engine = EngineFactory::Build(file.dimension_, file.location_, (EngineType)file.engine_type_);
if(engine == nullptr) {
ENGINE_LOG_ERROR << "Invalid engine type";
return Status::Error("Invalid engine type");
}
size += engine->PhysicalSize();
if (size > available_size) {
break;
} else {
try {
//step 1: load index
engine->Load(true);
} catch (std::exception &ex) {
std::string msg = "load to cache exception" + std::string(ex.what());
ENGINE_LOG_ERROR << msg;
return Status::Error(msg);
}
}
}
}
return Status::OK();
}
Status DBImpl::GetTableRowCount(const std::string& table_id, uint64_t& row_count) { Status DBImpl::GetTableRowCount(const std::string& table_id, uint64_t& row_count) {
return meta_ptr_->Count(table_id, row_count); return meta_ptr_->Count(table_id, row_count);
} }
......
...@@ -51,6 +51,9 @@ class DBImpl : public DB { ...@@ -51,6 +51,9 @@ class DBImpl : public DB {
Status Status
AllTables(std::vector<meta::TableSchema> &table_schema_array) override; AllTables(std::vector<meta::TableSchema> &table_schema_array) override;
Status
PreloadTable(const std::string &table_id) override;
Status Status
GetTableRowCount(const std::string &table_id, uint64_t &row_count) override; GetTableRowCount(const std::string &table_id, uint64_t &row_count) override;
......
...@@ -388,6 +388,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT ...@@ -388,6 +388,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT
~0u, // no _weak_field_map_ ~0u, // no _weak_field_map_
PROTOBUF_FIELD_OFFSET(::milvus::grpc::InsertParam, table_name_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::InsertParam, table_name_),
PROTOBUF_FIELD_OFFSET(::milvus::grpc::InsertParam, row_record_array_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::InsertParam, row_record_array_),
PROTOBUF_FIELD_OFFSET(::milvus::grpc::InsertParam, row_id_array_),
~0u, // no _has_bits_ ~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorIds, _internal_metadata_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorIds, _internal_metadata_),
~0u, // no _extensions_ ~0u, // no _extensions_
...@@ -404,6 +405,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT ...@@ -404,6 +405,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT
PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchParam, query_record_array_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchParam, query_record_array_),
PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchParam, query_range_array_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchParam, query_range_array_),
PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchParam, topk_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchParam, topk_),
PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchParam, nprobe_),
~0u, // no _has_bits_ ~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchInFilesParam, _internal_metadata_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchInFilesParam, _internal_metadata_),
~0u, // no _extensions_ ~0u, // no _extensions_
...@@ -460,6 +462,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT ...@@ -460,6 +462,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT
PROTOBUF_FIELD_OFFSET(::milvus::grpc::Index, index_type_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::Index, index_type_),
PROTOBUF_FIELD_OFFSET(::milvus::grpc::Index, nlist_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::Index, nlist_),
PROTOBUF_FIELD_OFFSET(::milvus::grpc::Index, index_file_size_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::Index, index_file_size_),
PROTOBUF_FIELD_OFFSET(::milvus::grpc::Index, metric_type_),
~0u, // no _has_bits_ ~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::milvus::grpc::IndexParam, _internal_metadata_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::IndexParam, _internal_metadata_),
~0u, // no _extensions_ ~0u, // no _extensions_
...@@ -481,18 +484,18 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB ...@@ -481,18 +484,18 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB
{ 16, -1, sizeof(::milvus::grpc::Range)}, { 16, -1, sizeof(::milvus::grpc::Range)},
{ 23, -1, sizeof(::milvus::grpc::RowRecord)}, { 23, -1, sizeof(::milvus::grpc::RowRecord)},
{ 29, -1, sizeof(::milvus::grpc::InsertParam)}, { 29, -1, sizeof(::milvus::grpc::InsertParam)},
{ 36, -1, sizeof(::milvus::grpc::VectorIds)}, { 37, -1, sizeof(::milvus::grpc::VectorIds)},
{ 43, -1, sizeof(::milvus::grpc::SearchParam)}, { 44, -1, sizeof(::milvus::grpc::SearchParam)},
{ 52, -1, sizeof(::milvus::grpc::SearchInFilesParam)}, { 54, -1, sizeof(::milvus::grpc::SearchInFilesParam)},
{ 59, -1, sizeof(::milvus::grpc::QueryResult)}, { 61, -1, sizeof(::milvus::grpc::QueryResult)},
{ 66, -1, sizeof(::milvus::grpc::TopKQueryResult)}, { 68, -1, sizeof(::milvus::grpc::TopKQueryResult)},
{ 73, -1, sizeof(::milvus::grpc::StringReply)}, { 75, -1, sizeof(::milvus::grpc::StringReply)},
{ 80, -1, sizeof(::milvus::grpc::BoolReply)}, { 82, -1, sizeof(::milvus::grpc::BoolReply)},
{ 87, -1, sizeof(::milvus::grpc::TableRowCount)}, { 89, -1, sizeof(::milvus::grpc::TableRowCount)},
{ 94, -1, sizeof(::milvus::grpc::Command)}, { 96, -1, sizeof(::milvus::grpc::Command)},
{ 100, -1, sizeof(::milvus::grpc::Index)}, { 102, -1, sizeof(::milvus::grpc::Index)},
{ 108, -1, sizeof(::milvus::grpc::IndexParam)}, { 111, -1, sizeof(::milvus::grpc::IndexParam)},
{ 115, -1, sizeof(::milvus::grpc::DeleteByRangeParam)}, { 118, -1, sizeof(::milvus::grpc::DeleteByRangeParam)},
}; };
static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
...@@ -523,59 +526,60 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE( ...@@ -523,59 +526,60 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE(
".TableName\022\022\n\nindex_type\030\002 \001(\005\022\021\n\tdimens" ".TableName\022\022\n\nindex_type\030\002 \001(\005\022\021\n\tdimens"
"ion\030\003 \001(\003\022\030\n\020store_raw_vector\030\004 \001(\010\"/\n\005R" "ion\030\003 \001(\003\022\030\n\020store_raw_vector\030\004 \001(\010\"/\n\005R"
"ange\022\023\n\013start_value\030\001 \001(\t\022\021\n\tend_value\030\002" "ange\022\023\n\013start_value\030\001 \001(\t\022\021\n\tend_value\030\002"
" \001(\t\" \n\tRowRecord\022\023\n\013vector_data\030\001 \003(\002\"S" " \001(\t\" \n\tRowRecord\022\023\n\013vector_data\030\001 \003(\002\"i"
"\n\013InsertParam\022\022\n\ntable_name\030\001 \001(\t\0220\n\020row" "\n\013InsertParam\022\022\n\ntable_name\030\001 \001(\t\0220\n\020row"
"_record_array\030\002 \003(\0132\026.milvus.grpc.RowRec" "_record_array\030\002 \003(\0132\026.milvus.grpc.RowRec"
"ord\"I\n\tVectorIds\022#\n\006status\030\001 \001(\0132\023.milvu" "ord\022\024\n\014row_id_array\030\003 \003(\003\"I\n\tVectorIds\022#"
"s.grpc.Status\022\027\n\017vector_id_array\030\002 \003(\003\"\222" "\n\006status\030\001 \001(\0132\023.milvus.grpc.Status\022\027\n\017v"
"\001\n\013SearchParam\022\022\n\ntable_name\030\001 \001(\t\0222\n\022qu" "ector_id_array\030\002 \003(\003\"\242\001\n\013SearchParam\022\022\n\n"
"ery_record_array\030\002 \003(\0132\026.milvus.grpc.Row" "table_name\030\001 \001(\t\0222\n\022query_record_array\030\002"
"Record\022-\n\021query_range_array\030\003 \003(\0132\022.milv" " \003(\0132\026.milvus.grpc.RowRecord\022-\n\021query_ra"
"us.grpc.Range\022\014\n\004topk\030\004 \001(\003\"[\n\022SearchInF" "nge_array\030\003 \003(\0132\022.milvus.grpc.Range\022\014\n\004t"
"ilesParam\022\025\n\rfile_id_array\030\001 \003(\t\022.\n\014sear" "opk\030\004 \001(\003\022\016\n\006nprobe\030\005 \001(\003\"[\n\022SearchInFil"
"ch_param\030\002 \001(\0132\030.milvus.grpc.SearchParam" "esParam\022\025\n\rfile_id_array\030\001 \003(\t\022.\n\014search"
"\"+\n\013QueryResult\022\n\n\002id\030\001 \001(\003\022\020\n\010distance\030" "_param\030\002 \001(\0132\030.milvus.grpc.SearchParam\"+"
"\002 \001(\001\"m\n\017TopKQueryResult\022#\n\006status\030\001 \001(\013" "\n\013QueryResult\022\n\n\002id\030\001 \001(\003\022\020\n\010distance\030\002 "
"2\023.milvus.grpc.Status\0225\n\023query_result_ar" "\001(\001\"m\n\017TopKQueryResult\022#\n\006status\030\001 \001(\0132\023"
"rays\030\002 \003(\0132\030.milvus.grpc.QueryResult\"H\n\013" ".milvus.grpc.Status\0225\n\023query_result_arra"
"StringReply\022#\n\006status\030\001 \001(\0132\023.milvus.grp" "ys\030\002 \003(\0132\030.milvus.grpc.QueryResult\"H\n\013St"
"c.Status\022\024\n\014string_reply\030\002 \001(\t\"D\n\tBoolRe" "ringReply\022#\n\006status\030\001 \001(\0132\023.milvus.grpc."
"ply\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status" "Status\022\024\n\014string_reply\030\002 \001(\t\"D\n\tBoolRepl"
"\022\022\n\nbool_reply\030\002 \001(\010\"M\n\rTableRowCount\022#\n" "y\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status\022\022"
"\006status\030\001 \001(\0132\023.milvus.grpc.Status\022\027\n\017ta" "\n\nbool_reply\030\002 \001(\010\"M\n\rTableRowCount\022#\n\006s"
"ble_row_count\030\002 \001(\003\"\026\n\007Command\022\013\n\003cmd\030\001 " "tatus\030\001 \001(\0132\023.milvus.grpc.Status\022\027\n\017tabl"
"\001(\t\"C\n\005Index\022\022\n\nindex_type\030\001 \001(\005\022\r\n\005nlis" "e_row_count\030\002 \001(\003\"\026\n\007Command\022\013\n\003cmd\030\001 \001("
"t\030\002 \001(\003\022\027\n\017index_file_size\030\003 \001(\005\"[\n\nInde" "\t\"X\n\005Index\022\022\n\nindex_type\030\001 \001(\005\022\r\n\005nlist\030"
"xParam\022*\n\ntable_name\030\001 \001(\0132\026.milvus.grpc" "\002 \001(\003\022\027\n\017index_file_size\030\003 \001(\005\022\023\n\013metric"
".TableName\022!\n\005index\030\002 \001(\0132\022.milvus.grpc." "_type\030\004 \001(\005\"[\n\nIndexParam\022*\n\ntable_name\030"
"Index\"K\n\022DeleteByRangeParam\022!\n\005range\030\001 \001" "\001 \001(\0132\026.milvus.grpc.TableName\022!\n\005index\030\002"
"(\0132\022.milvus.grpc.Range\022\022\n\ntable_name\030\002 \001" " \001(\0132\022.milvus.grpc.Index\"K\n\022DeleteByRang"
"(\t2\352\007\n\rMilvusService\022>\n\013CreateTable\022\030.mi" "eParam\022!\n\005range\030\001 \001(\0132\022.milvus.grpc.Rang"
"lvus.grpc.TableSchema\032\023.milvus.grpc.Stat" "e\022\022\n\ntable_name\030\002 \001(\t2\352\007\n\rMilvusService\022"
"us\"\000\022<\n\010HasTable\022\026.milvus.grpc.TableName" ">\n\013CreateTable\022\030.milvus.grpc.TableSchema"
"\032\026.milvus.grpc.BoolReply\"\000\022:\n\tDropTable\022" "\032\023.milvus.grpc.Status\"\000\022<\n\010HasTable\022\026.mi"
"\026.milvus.grpc.TableName\032\023.milvus.grpc.St" "lvus.grpc.TableName\032\026.milvus.grpc.BoolRe"
"atus\"\000\022=\n\013CreateIndex\022\027.milvus.grpc.Inde" "ply\"\000\022:\n\tDropTable\022\026.milvus.grpc.TableNa"
"xParam\032\023.milvus.grpc.Status\"\000\022<\n\006Insert\022" "me\032\023.milvus.grpc.Status\"\000\022=\n\013CreateIndex"
"\030.milvus.grpc.InsertParam\032\026.milvus.grpc." "\022\027.milvus.grpc.IndexParam\032\023.milvus.grpc."
"VectorIds\"\000\022D\n\006Search\022\030.milvus.grpc.Sear" "Status\"\000\022<\n\006Insert\022\030.milvus.grpc.InsertP"
"chParam\032\034.milvus.grpc.TopKQueryResult\"\0000" "aram\032\026.milvus.grpc.VectorIds\"\000\022D\n\006Search"
"\001\022R\n\rSearchInFiles\022\037.milvus.grpc.SearchI" "\022\030.milvus.grpc.SearchParam\032\034.milvus.grpc"
"nFilesParam\032\034.milvus.grpc.TopKQueryResul" ".TopKQueryResult\"\0000\001\022R\n\rSearchInFiles\022\037."
"t\"\0000\001\022C\n\rDescribeTable\022\026.milvus.grpc.Tab" "milvus.grpc.SearchInFilesParam\032\034.milvus."
"leName\032\030.milvus.grpc.TableSchema\"\000\022B\n\nCo" "grpc.TopKQueryResult\"\0000\001\022C\n\rDescribeTabl"
"untTable\022\026.milvus.grpc.TableName\032\032.milvu" "e\022\026.milvus.grpc.TableName\032\030.milvus.grpc."
"s.grpc.TableRowCount\"\000\022>\n\nShowTables\022\024.m" "TableSchema\"\000\022B\n\nCountTable\022\026.milvus.grp"
"ilvus.grpc.Command\032\026.milvus.grpc.TableNa" "c.TableName\032\032.milvus.grpc.TableRowCount\""
"me\"\0000\001\0227\n\003Cmd\022\024.milvus.grpc.Command\032\030.mi" "\000\022>\n\nShowTables\022\024.milvus.grpc.Command\032\026."
"lvus.grpc.StringReply\"\000\022G\n\rDeleteByRange" "milvus.grpc.TableName\"\0000\001\0227\n\003Cmd\022\024.milvu"
"\022\037.milvus.grpc.DeleteByRangeParam\032\023.milv" "s.grpc.Command\032\030.milvus.grpc.StringReply"
"us.grpc.Status\"\000\022=\n\014PreloadTable\022\026.milvu" "\"\000\022G\n\rDeleteByRange\022\037.milvus.grpc.Delete"
"s.grpc.TableName\032\023.milvus.grpc.Status\"\000\022" "ByRangeParam\032\023.milvus.grpc.Status\"\000\022=\n\014P"
"B\n\rDescribeIndex\022\026.milvus.grpc.TableName" "reloadTable\022\026.milvus.grpc.TableName\032\023.mi"
"\032\027.milvus.grpc.IndexParam\"\000\022:\n\tDropIndex" "lvus.grpc.Status\"\000\022B\n\rDescribeIndex\022\026.mi"
"\022\026.milvus.grpc.TableName\032\023.milvus.grpc.S" "lvus.grpc.TableName\032\027.milvus.grpc.IndexP"
"tatus\"\000b\006proto3" "aram\"\000\022:\n\tDropIndex\022\026.milvus.grpc.TableN"
"ame\032\023.milvus.grpc.Status\"\000b\006proto3"
; ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[1] = { static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[1] = {
&::descriptor_table_status_2eproto, &::descriptor_table_status_2eproto,
...@@ -602,7 +606,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mil ...@@ -602,7 +606,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mil
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_milvus_2eproto_once; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_milvus_2eproto_once;
static bool descriptor_table_milvus_2eproto_initialized = false; static bool descriptor_table_milvus_2eproto_initialized = false;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_milvus_2eproto = { const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_milvus_2eproto = {
&descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 2375, &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 2434,
&descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 17, 1, &descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 17, 1,
schemas, file_default_instances, TableStruct_milvus_2eproto::offsets, schemas, file_default_instances, TableStruct_milvus_2eproto::offsets,
file_level_metadata_milvus_2eproto, 17, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto, file_level_metadata_milvus_2eproto, 17, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto,
...@@ -1963,7 +1967,8 @@ InsertParam::InsertParam() ...@@ -1963,7 +1967,8 @@ InsertParam::InsertParam()
InsertParam::InsertParam(const InsertParam& from) InsertParam::InsertParam(const InsertParam& from)
: ::PROTOBUF_NAMESPACE_ID::Message(), : ::PROTOBUF_NAMESPACE_ID::Message(),
_internal_metadata_(nullptr), _internal_metadata_(nullptr),
row_record_array_(from.row_record_array_) { row_record_array_(from.row_record_array_),
row_id_array_(from.row_id_array_) {
_internal_metadata_.MergeFrom(from._internal_metadata_); _internal_metadata_.MergeFrom(from._internal_metadata_);
table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
if (!from.table_name().empty()) { if (!from.table_name().empty()) {
...@@ -2002,6 +2007,7 @@ void InsertParam::Clear() { ...@@ -2002,6 +2007,7 @@ void InsertParam::Clear() {
(void) cached_has_bits; (void) cached_has_bits;
row_record_array_.Clear(); row_record_array_.Clear();
row_id_array_.Clear();
table_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); table_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
_internal_metadata_.Clear(); _internal_metadata_.Clear();
} }
...@@ -2033,6 +2039,16 @@ const char* InsertParam::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID ...@@ -2033,6 +2039,16 @@ const char* InsertParam::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID
} while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18); } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
} else goto handle_unusual; } else goto handle_unusual;
continue; continue;
// repeated int64 row_id_array = 3;
case 3:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_row_id_array(), ptr, ctx);
CHK_(ptr);
} else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
add_row_id_array(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
CHK_(ptr);
} else goto handle_unusual;
continue;
default: { default: {
handle_unusual: handle_unusual:
if ((tag & 7) == 4 || tag == 0) { if ((tag & 7) == 4 || tag == 0) {
...@@ -2089,6 +2105,22 @@ bool InsertParam::MergePartialFromCodedStream( ...@@ -2089,6 +2105,22 @@ bool InsertParam::MergePartialFromCodedStream(
break; break;
} }
// repeated int64 row_id_array = 3;
case 3: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
input, this->mutable_row_id_array())));
} else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
1, 26u, input, this->mutable_row_id_array())));
} else {
goto handle_unusual;
}
break;
}
default: { default: {
handle_unusual: handle_unusual:
if (tag == 0) { if (tag == 0) {
...@@ -2135,6 +2167,17 @@ void InsertParam::SerializeWithCachedSizes( ...@@ -2135,6 +2167,17 @@ void InsertParam::SerializeWithCachedSizes(
output); output);
} }
// repeated int64 row_id_array = 3;
if (this->row_id_array_size() > 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(3, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
output->WriteVarint32(_row_id_array_cached_byte_size_.load(
std::memory_order_relaxed));
}
for (int i = 0, n = this->row_id_array_size(); i < n; i++) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag(
this->row_id_array(i), output);
}
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
_internal_metadata_.unknown_fields(), output); _internal_metadata_.unknown_fields(), output);
...@@ -2167,6 +2210,19 @@ void InsertParam::SerializeWithCachedSizes( ...@@ -2167,6 +2210,19 @@ void InsertParam::SerializeWithCachedSizes(
2, this->row_record_array(static_cast<int>(i)), target); 2, this->row_record_array(static_cast<int>(i)), target);
} }
// repeated int64 row_id_array = 3;
if (this->row_id_array_size() > 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray(
3,
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
target);
target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray(
_row_id_array_cached_byte_size_.load(std::memory_order_relaxed),
target);
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
WriteInt64NoTagToArray(this->row_id_array_, target);
}
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields(), target); _internal_metadata_.unknown_fields(), target);
...@@ -2199,6 +2255,21 @@ size_t InsertParam::ByteSizeLong() const { ...@@ -2199,6 +2255,21 @@ size_t InsertParam::ByteSizeLong() const {
} }
} }
// repeated int64 row_id_array = 3;
{
size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
Int64Size(this->row_id_array_);
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);
_row_id_array_cached_byte_size_.store(cached_size,
std::memory_order_relaxed);
total_size += data_size;
}
// string table_name = 1; // string table_name = 1;
if (this->table_name().size() > 0) { if (this->table_name().size() > 0) {
total_size += 1 + total_size += 1 +
...@@ -2234,6 +2305,7 @@ void InsertParam::MergeFrom(const InsertParam& from) { ...@@ -2234,6 +2305,7 @@ void InsertParam::MergeFrom(const InsertParam& from) {
(void) cached_has_bits; (void) cached_has_bits;
row_record_array_.MergeFrom(from.row_record_array_); row_record_array_.MergeFrom(from.row_record_array_);
row_id_array_.MergeFrom(from.row_id_array_);
if (from.table_name().size() > 0) { if (from.table_name().size() > 0) {
table_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.table_name_); table_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.table_name_);
...@@ -2262,6 +2334,7 @@ void InsertParam::InternalSwap(InsertParam* other) { ...@@ -2262,6 +2334,7 @@ void InsertParam::InternalSwap(InsertParam* other) {
using std::swap; using std::swap;
_internal_metadata_.Swap(&other->_internal_metadata_); _internal_metadata_.Swap(&other->_internal_metadata_);
CastToBase(&row_record_array_)->InternalSwap(CastToBase(&other->row_record_array_)); CastToBase(&row_record_array_)->InternalSwap(CastToBase(&other->row_record_array_));
row_id_array_.InternalSwap(&other->row_id_array_);
table_name_.Swap(&other->table_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), table_name_.Swap(&other->table_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
GetArenaNoVirtual()); GetArenaNoVirtual());
} }
...@@ -2635,14 +2708,18 @@ SearchParam::SearchParam(const SearchParam& from) ...@@ -2635,14 +2708,18 @@ SearchParam::SearchParam(const SearchParam& from)
if (!from.table_name().empty()) { if (!from.table_name().empty()) {
table_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.table_name_); table_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.table_name_);
} }
topk_ = from.topk_; ::memcpy(&topk_, &from.topk_,
static_cast<size_t>(reinterpret_cast<char*>(&nprobe_) -
reinterpret_cast<char*>(&topk_)) + sizeof(nprobe_));
// @@protoc_insertion_point(copy_constructor:milvus.grpc.SearchParam) // @@protoc_insertion_point(copy_constructor:milvus.grpc.SearchParam)
} }
void SearchParam::SharedCtor() { void SearchParam::SharedCtor() {
::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_SearchParam_milvus_2eproto.base); ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_SearchParam_milvus_2eproto.base);
table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
topk_ = PROTOBUF_LONGLONG(0); ::memset(&topk_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&nprobe_) -
reinterpret_cast<char*>(&topk_)) + sizeof(nprobe_));
} }
SearchParam::~SearchParam() { SearchParam::~SearchParam() {
...@@ -2672,7 +2749,9 @@ void SearchParam::Clear() { ...@@ -2672,7 +2749,9 @@ void SearchParam::Clear() {
query_record_array_.Clear(); query_record_array_.Clear();
query_range_array_.Clear(); query_range_array_.Clear();
table_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); table_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
topk_ = PROTOBUF_LONGLONG(0); ::memset(&topk_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&nprobe_) -
reinterpret_cast<char*>(&topk_)) + sizeof(nprobe_));
_internal_metadata_.Clear(); _internal_metadata_.Clear();
} }
...@@ -2722,6 +2801,13 @@ const char* SearchParam::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID ...@@ -2722,6 +2801,13 @@ const char* SearchParam::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID
CHK_(ptr); CHK_(ptr);
} else goto handle_unusual; } else goto handle_unusual;
continue; continue;
// int64 nprobe = 5;
case 5:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
nprobe_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
} else goto handle_unusual;
continue;
default: { default: {
handle_unusual: handle_unusual:
if ((tag & 7) == 4 || tag == 0) { if ((tag & 7) == 4 || tag == 0) {
...@@ -2802,6 +2888,19 @@ bool SearchParam::MergePartialFromCodedStream( ...@@ -2802,6 +2888,19 @@ bool SearchParam::MergePartialFromCodedStream(
break; break;
} }
// int64 nprobe = 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, &nprobe_)));
} else {
goto handle_unusual;
}
break;
}
default: { default: {
handle_unusual: handle_unusual:
if (tag == 0) { if (tag == 0) {
...@@ -2862,6 +2961,11 @@ void SearchParam::SerializeWithCachedSizes( ...@@ -2862,6 +2961,11 @@ void SearchParam::SerializeWithCachedSizes(
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(4, this->topk(), output); ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(4, this->topk(), output);
} }
// int64 nprobe = 5;
if (this->nprobe() != 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(5, this->nprobe(), output);
}
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
_internal_metadata_.unknown_fields(), output); _internal_metadata_.unknown_fields(), output);
...@@ -2907,6 +3011,11 @@ void SearchParam::SerializeWithCachedSizes( ...@@ -2907,6 +3011,11 @@ void SearchParam::SerializeWithCachedSizes(
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->topk(), target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->topk(), target);
} }
// int64 nprobe = 5;
if (this->nprobe() != 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(5, this->nprobe(), target);
}
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields(), target); _internal_metadata_.unknown_fields(), target);
...@@ -2964,6 +3073,13 @@ size_t SearchParam::ByteSizeLong() const { ...@@ -2964,6 +3073,13 @@ size_t SearchParam::ByteSizeLong() const {
this->topk()); this->topk());
} }
// int64 nprobe = 5;
if (this->nprobe() != 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
this->nprobe());
}
int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
SetCachedSize(cached_size); SetCachedSize(cached_size);
return total_size; return total_size;
...@@ -3000,6 +3116,9 @@ void SearchParam::MergeFrom(const SearchParam& from) { ...@@ -3000,6 +3116,9 @@ void SearchParam::MergeFrom(const SearchParam& from) {
if (from.topk() != 0) { if (from.topk() != 0) {
set_topk(from.topk()); set_topk(from.topk());
} }
if (from.nprobe() != 0) {
set_nprobe(from.nprobe());
}
} }
void SearchParam::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { void SearchParam::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
...@@ -3028,6 +3147,7 @@ void SearchParam::InternalSwap(SearchParam* other) { ...@@ -3028,6 +3147,7 @@ void SearchParam::InternalSwap(SearchParam* other) {
table_name_.Swap(&other->table_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), table_name_.Swap(&other->table_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
GetArenaNoVirtual()); GetArenaNoVirtual());
swap(topk_, other->topk_); swap(topk_, other->topk_);
swap(nprobe_, other->nprobe_);
} }
::PROTOBUF_NAMESPACE_ID::Metadata SearchParam::GetMetadata() const { ::PROTOBUF_NAMESPACE_ID::Metadata SearchParam::GetMetadata() const {
...@@ -5236,15 +5356,15 @@ Index::Index(const Index& from) ...@@ -5236,15 +5356,15 @@ Index::Index(const Index& from)
_internal_metadata_(nullptr) { _internal_metadata_(nullptr) {
_internal_metadata_.MergeFrom(from._internal_metadata_); _internal_metadata_.MergeFrom(from._internal_metadata_);
::memcpy(&nlist_, &from.nlist_, ::memcpy(&nlist_, &from.nlist_,
static_cast<size_t>(reinterpret_cast<char*>(&index_file_size_) - static_cast<size_t>(reinterpret_cast<char*>(&metric_type_) -
reinterpret_cast<char*>(&nlist_)) + sizeof(index_file_size_)); reinterpret_cast<char*>(&nlist_)) + sizeof(metric_type_));
// @@protoc_insertion_point(copy_constructor:milvus.grpc.Index) // @@protoc_insertion_point(copy_constructor:milvus.grpc.Index)
} }
void Index::SharedCtor() { void Index::SharedCtor() {
::memset(&nlist_, 0, static_cast<size_t>( ::memset(&nlist_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&index_file_size_) - reinterpret_cast<char*>(&metric_type_) -
reinterpret_cast<char*>(&nlist_)) + sizeof(index_file_size_)); reinterpret_cast<char*>(&nlist_)) + sizeof(metric_type_));
} }
Index::~Index() { Index::~Index() {
...@@ -5271,8 +5391,8 @@ void Index::Clear() { ...@@ -5271,8 +5391,8 @@ void Index::Clear() {
(void) cached_has_bits; (void) cached_has_bits;
::memset(&nlist_, 0, static_cast<size_t>( ::memset(&nlist_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&index_file_size_) - reinterpret_cast<char*>(&metric_type_) -
reinterpret_cast<char*>(&nlist_)) + sizeof(index_file_size_)); reinterpret_cast<char*>(&nlist_)) + sizeof(metric_type_));
_internal_metadata_.Clear(); _internal_metadata_.Clear();
} }
...@@ -5305,6 +5425,13 @@ const char* Index::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::inte ...@@ -5305,6 +5425,13 @@ const char* Index::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::inte
CHK_(ptr); CHK_(ptr);
} else goto handle_unusual; } else goto handle_unusual;
continue; continue;
// int32 metric_type = 4;
case 4:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
metric_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
} else goto handle_unusual;
continue;
default: { default: {
handle_unusual: handle_unusual:
if ((tag & 7) == 4 || tag == 0) { if ((tag & 7) == 4 || tag == 0) {
...@@ -5374,6 +5501,19 @@ bool Index::MergePartialFromCodedStream( ...@@ -5374,6 +5501,19 @@ bool Index::MergePartialFromCodedStream(
break; break;
} }
// int32 metric_type = 4;
case 4: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (32 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32>(
input, &metric_type_)));
} else {
goto handle_unusual;
}
break;
}
default: { default: {
handle_unusual: handle_unusual:
if (tag == 0) { if (tag == 0) {
...@@ -5416,6 +5556,11 @@ void Index::SerializeWithCachedSizes( ...@@ -5416,6 +5556,11 @@ void Index::SerializeWithCachedSizes(
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32(3, this->index_file_size(), output); ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32(3, this->index_file_size(), output);
} }
// int32 metric_type = 4;
if (this->metric_type() != 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32(4, this->metric_type(), output);
}
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
_internal_metadata_.unknown_fields(), output); _internal_metadata_.unknown_fields(), output);
...@@ -5444,6 +5589,11 @@ void Index::SerializeWithCachedSizes( ...@@ -5444,6 +5589,11 @@ void Index::SerializeWithCachedSizes(
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->index_file_size(), target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->index_file_size(), target);
} }
// int32 metric_type = 4;
if (this->metric_type() != 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->metric_type(), target);
}
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields(), target); _internal_metadata_.unknown_fields(), target);
...@@ -5486,6 +5636,13 @@ size_t Index::ByteSizeLong() const { ...@@ -5486,6 +5636,13 @@ size_t Index::ByteSizeLong() const {
this->index_file_size()); this->index_file_size());
} }
// int32 metric_type = 4;
if (this->metric_type() != 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
this->metric_type());
}
int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
SetCachedSize(cached_size); SetCachedSize(cached_size);
return total_size; return total_size;
...@@ -5522,6 +5679,9 @@ void Index::MergeFrom(const Index& from) { ...@@ -5522,6 +5679,9 @@ void Index::MergeFrom(const Index& from) {
if (from.index_file_size() != 0) { if (from.index_file_size() != 0) {
set_index_file_size(from.index_file_size()); set_index_file_size(from.index_file_size());
} }
if (from.metric_type() != 0) {
set_metric_type(from.metric_type());
}
} }
void Index::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { void Index::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
...@@ -5548,6 +5708,7 @@ void Index::InternalSwap(Index* other) { ...@@ -5548,6 +5708,7 @@ void Index::InternalSwap(Index* other) {
swap(nlist_, other->nlist_); swap(nlist_, other->nlist_);
swap(index_type_, other->index_type_); swap(index_type_, other->index_type_);
swap(index_file_size_, other->index_file_size_); swap(index_file_size_, other->index_file_size_);
swap(metric_type_, other->metric_type_);
} }
::PROTOBUF_NAMESPACE_ID::Metadata Index::GetMetadata() const { ::PROTOBUF_NAMESPACE_ID::Metadata Index::GetMetadata() const {
......
...@@ -838,6 +838,7 @@ class InsertParam : ...@@ -838,6 +838,7 @@ class InsertParam :
enum : int { enum : int {
kRowRecordArrayFieldNumber = 2, kRowRecordArrayFieldNumber = 2,
kRowIdArrayFieldNumber = 3,
kTableNameFieldNumber = 1, kTableNameFieldNumber = 1,
}; };
// repeated .milvus.grpc.RowRecord row_record_array = 2; // repeated .milvus.grpc.RowRecord row_record_array = 2;
...@@ -851,6 +852,17 @@ class InsertParam : ...@@ -851,6 +852,17 @@ class InsertParam :
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord >& const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord >&
row_record_array() const; row_record_array() const;
// repeated int64 row_id_array = 3;
int row_id_array_size() const;
void clear_row_id_array();
::PROTOBUF_NAMESPACE_ID::int64 row_id_array(int index) const;
void set_row_id_array(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
void add_row_id_array(::PROTOBUF_NAMESPACE_ID::int64 value);
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
row_id_array() const;
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
mutable_row_id_array();
// string table_name = 1; // string table_name = 1;
void clear_table_name(); void clear_table_name();
const std::string& table_name() const; const std::string& table_name() const;
...@@ -868,6 +880,8 @@ class InsertParam : ...@@ -868,6 +880,8 @@ class InsertParam :
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord > row_record_array_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord > row_record_array_;
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > row_id_array_;
mutable std::atomic<int> _row_id_array_cached_byte_size_;
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr table_name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr table_name_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_milvus_2eproto; friend struct ::TableStruct_milvus_2eproto;
...@@ -1139,6 +1153,7 @@ class SearchParam : ...@@ -1139,6 +1153,7 @@ class SearchParam :
kQueryRangeArrayFieldNumber = 3, kQueryRangeArrayFieldNumber = 3,
kTableNameFieldNumber = 1, kTableNameFieldNumber = 1,
kTopkFieldNumber = 4, kTopkFieldNumber = 4,
kNprobeFieldNumber = 5,
}; };
// repeated .milvus.grpc.RowRecord query_record_array = 2; // repeated .milvus.grpc.RowRecord query_record_array = 2;
int query_record_array_size() const; int query_record_array_size() const;
...@@ -1178,6 +1193,11 @@ class SearchParam : ...@@ -1178,6 +1193,11 @@ class SearchParam :
::PROTOBUF_NAMESPACE_ID::int64 topk() const; ::PROTOBUF_NAMESPACE_ID::int64 topk() const;
void set_topk(::PROTOBUF_NAMESPACE_ID::int64 value); void set_topk(::PROTOBUF_NAMESPACE_ID::int64 value);
// int64 nprobe = 5;
void clear_nprobe();
::PROTOBUF_NAMESPACE_ID::int64 nprobe() const;
void set_nprobe(::PROTOBUF_NAMESPACE_ID::int64 value);
// @@protoc_insertion_point(class_scope:milvus.grpc.SearchParam) // @@protoc_insertion_point(class_scope:milvus.grpc.SearchParam)
private: private:
class _Internal; class _Internal;
...@@ -1187,6 +1207,7 @@ class SearchParam : ...@@ -1187,6 +1207,7 @@ class SearchParam :
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::Range > query_range_array_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::Range > query_range_array_;
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr table_name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr table_name_;
::PROTOBUF_NAMESPACE_ID::int64 topk_; ::PROTOBUF_NAMESPACE_ID::int64 topk_;
::PROTOBUF_NAMESPACE_ID::int64 nprobe_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_milvus_2eproto; friend struct ::TableStruct_milvus_2eproto;
}; };
...@@ -2312,6 +2333,7 @@ class Index : ...@@ -2312,6 +2333,7 @@ class Index :
kNlistFieldNumber = 2, kNlistFieldNumber = 2,
kIndexTypeFieldNumber = 1, kIndexTypeFieldNumber = 1,
kIndexFileSizeFieldNumber = 3, kIndexFileSizeFieldNumber = 3,
kMetricTypeFieldNumber = 4,
}; };
// int64 nlist = 2; // int64 nlist = 2;
void clear_nlist(); void clear_nlist();
...@@ -2328,6 +2350,11 @@ class Index : ...@@ -2328,6 +2350,11 @@ class Index :
::PROTOBUF_NAMESPACE_ID::int32 index_file_size() const; ::PROTOBUF_NAMESPACE_ID::int32 index_file_size() const;
void set_index_file_size(::PROTOBUF_NAMESPACE_ID::int32 value); void set_index_file_size(::PROTOBUF_NAMESPACE_ID::int32 value);
// int32 metric_type = 4;
void clear_metric_type();
::PROTOBUF_NAMESPACE_ID::int32 metric_type() const;
void set_metric_type(::PROTOBUF_NAMESPACE_ID::int32 value);
// @@protoc_insertion_point(class_scope:milvus.grpc.Index) // @@protoc_insertion_point(class_scope:milvus.grpc.Index)
private: private:
class _Internal; class _Internal;
...@@ -2336,6 +2363,7 @@ class Index : ...@@ -2336,6 +2363,7 @@ class Index :
::PROTOBUF_NAMESPACE_ID::int64 nlist_; ::PROTOBUF_NAMESPACE_ID::int64 nlist_;
::PROTOBUF_NAMESPACE_ID::int32 index_type_; ::PROTOBUF_NAMESPACE_ID::int32 index_type_;
::PROTOBUF_NAMESPACE_ID::int32 index_file_size_; ::PROTOBUF_NAMESPACE_ID::int32 index_file_size_;
::PROTOBUF_NAMESPACE_ID::int32 metric_type_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_milvus_2eproto; friend struct ::TableStruct_milvus_2eproto;
}; };
...@@ -3059,6 +3087,36 @@ InsertParam::row_record_array() const { ...@@ -3059,6 +3087,36 @@ InsertParam::row_record_array() const {
return row_record_array_; return row_record_array_;
} }
// repeated int64 row_id_array = 3;
inline int InsertParam::row_id_array_size() const {
return row_id_array_.size();
}
inline void InsertParam::clear_row_id_array() {
row_id_array_.Clear();
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InsertParam::row_id_array(int index) const {
// @@protoc_insertion_point(field_get:milvus.grpc.InsertParam.row_id_array)
return row_id_array_.Get(index);
}
inline void InsertParam::set_row_id_array(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
row_id_array_.Set(index, value);
// @@protoc_insertion_point(field_set:milvus.grpc.InsertParam.row_id_array)
}
inline void InsertParam::add_row_id_array(::PROTOBUF_NAMESPACE_ID::int64 value) {
row_id_array_.Add(value);
// @@protoc_insertion_point(field_add:milvus.grpc.InsertParam.row_id_array)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
InsertParam::row_id_array() const {
// @@protoc_insertion_point(field_list:milvus.grpc.InsertParam.row_id_array)
return row_id_array_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
InsertParam::mutable_row_id_array() {
// @@protoc_insertion_point(field_mutable_list:milvus.grpc.InsertParam.row_id_array)
return &row_id_array_;
}
// ------------------------------------------------------------------- // -------------------------------------------------------------------
// VectorIds // VectorIds
...@@ -3267,6 +3325,20 @@ inline void SearchParam::set_topk(::PROTOBUF_NAMESPACE_ID::int64 value) { ...@@ -3267,6 +3325,20 @@ inline void SearchParam::set_topk(::PROTOBUF_NAMESPACE_ID::int64 value) {
// @@protoc_insertion_point(field_set:milvus.grpc.SearchParam.topk) // @@protoc_insertion_point(field_set:milvus.grpc.SearchParam.topk)
} }
// int64 nprobe = 5;
inline void SearchParam::clear_nprobe() {
nprobe_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 SearchParam::nprobe() const {
// @@protoc_insertion_point(field_get:milvus.grpc.SearchParam.nprobe)
return nprobe_;
}
inline void SearchParam::set_nprobe(::PROTOBUF_NAMESPACE_ID::int64 value) {
nprobe_ = value;
// @@protoc_insertion_point(field_set:milvus.grpc.SearchParam.nprobe)
}
// ------------------------------------------------------------------- // -------------------------------------------------------------------
// SearchInFilesParam // SearchInFilesParam
...@@ -3825,6 +3897,20 @@ inline void Index::set_index_file_size(::PROTOBUF_NAMESPACE_ID::int32 value) { ...@@ -3825,6 +3897,20 @@ inline void Index::set_index_file_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
// @@protoc_insertion_point(field_set:milvus.grpc.Index.index_file_size) // @@protoc_insertion_point(field_set:milvus.grpc.Index.index_file_size)
} }
// int32 metric_type = 4;
inline void Index::clear_metric_type() {
metric_type_ = 0;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 Index::metric_type() const {
// @@protoc_insertion_point(field_get:milvus.grpc.Index.metric_type)
return metric_type_;
}
inline void Index::set_metric_type(::PROTOBUF_NAMESPACE_ID::int32 value) {
metric_type_ = value;
// @@protoc_insertion_point(field_set:milvus.grpc.Index.metric_type)
}
// ------------------------------------------------------------------- // -------------------------------------------------------------------
// IndexParam // IndexParam
......
...@@ -43,6 +43,7 @@ message RowRecord { ...@@ -43,6 +43,7 @@ message RowRecord {
message InsertParam { message InsertParam {
string table_name = 1; string table_name = 1;
repeated RowRecord row_record_array = 2; repeated RowRecord row_record_array = 2;
repeated int64 row_id_array = 3; //optional
} }
/** /**
...@@ -61,6 +62,7 @@ message SearchParam { ...@@ -61,6 +62,7 @@ message SearchParam {
repeated RowRecord query_record_array = 2; repeated RowRecord query_record_array = 2;
repeated Range query_range_array = 3; repeated Range query_range_array = 3;
int64 topk = 4; int64 topk = 4;
int64 nprobe = 5;
} }
/** /**
...@@ -125,6 +127,7 @@ message Index { ...@@ -125,6 +127,7 @@ message Index {
int32 index_type = 1; int32 index_type = 1;
int64 nlist = 2; int64 nlist = 2;
int32 index_file_size = 3; int32 index_file_size = 3;
int32 metric_type = 4;
} }
/** /**
......
...@@ -328,7 +328,14 @@ ClientProxy::DeleteByRange(milvus::Range &range, const std::string &table_name) ...@@ -328,7 +328,14 @@ ClientProxy::DeleteByRange(milvus::Range &range, const std::string &table_name)
Status Status
ClientProxy::PreloadTable(const std::string &table_name) const { ClientProxy::PreloadTable(const std::string &table_name) const {
try {
::milvus::grpc::TableName grpc_table_name;
grpc_table_name.set_table_name(table_name);
Status status = client_ptr_->PreloadTable(grpc_table_name);
return status;
} catch (std::exception &ex) {
return Status(StatusCode::UnknownError, "fail to show tables: " + std::string(ex.what()));
}
} }
IndexParam IndexParam
......
...@@ -234,7 +234,7 @@ GrpcClient::Cmd(std::string &result, ...@@ -234,7 +234,7 @@ GrpcClient::Cmd(std::string &result,
result = response.string_reply(); result = response.string_reply();
if (!grpc_status.ok()) { if (!grpc_status.ok()) {
std::cerr << "Ping gRPC failed!" << std::endl; std::cerr << "Cmd gRPC failed!" << std::endl;
return Status(StatusCode::RPCFailed, grpc_status.error_message()); return Status(StatusCode::RPCFailed, grpc_status.error_message());
} }
...@@ -246,6 +246,24 @@ GrpcClient::Cmd(std::string &result, ...@@ -246,6 +246,24 @@ GrpcClient::Cmd(std::string &result,
return Status::OK(); return Status::OK();
} }
Status
GrpcClient::PreloadTable(milvus::grpc::TableName &table_name) {
ClientContext context;
::milvus::grpc::Status response;
::grpc::Status grpc_status = stub_->PreloadTable(&context, table_name, &response);
if (!grpc_status.ok()) {
std::cerr << "PreloadTable gRPC failed!" << std::endl;
return Status(StatusCode::RPCFailed, grpc_status.error_message());
}
if (response.error_code() != grpc::SUCCESS) {
std::cerr << response.reason() << std::endl;
return Status(StatusCode::ServerFailed, response.reason());
}
return Status::OK();
}
Status Status
GrpcClient::Disconnect() { GrpcClient::Disconnect() {
stub_.release(); stub_.release();
......
...@@ -175,7 +175,12 @@ GrpcRequestHandler::DeleteByRange(::grpc::ServerContext *context, ...@@ -175,7 +175,12 @@ GrpcRequestHandler::DeleteByRange(::grpc::ServerContext *context,
GrpcRequestHandler::PreloadTable(::grpc::ServerContext *context, GrpcRequestHandler::PreloadTable(::grpc::ServerContext *context,
const ::milvus::grpc::TableName *request, const ::milvus::grpc::TableName *request,
::milvus::grpc::Status *response) { ::milvus::grpc::Status *response) {
BaseTaskPtr task_ptr = PreloadTableTask::Create(request->table_name());
::milvus::grpc::Status grpc_status;
GrpcRequestScheduler::ExecTask(task_ptr, &grpc_status);
response->set_reason(grpc_status.reason());
response->set_error_code(grpc_status.error_code());
return ::grpc::Status::OK;
} }
::grpc::Status ::grpc::Status
......
...@@ -706,6 +706,45 @@ CmdTask::OnExecute() { ...@@ -706,6 +706,45 @@ CmdTask::OnExecute() {
return SERVER_SUCCESS; return SERVER_SUCCESS;
} }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
PreloadTableTask::PreloadTableTask(const std::string &table_name)
: GrpcBaseTask(DDL_DML_TASK_GROUP),
table_name_(table_name) {
}
BaseTaskPtr
PreloadTableTask::Create(const std::string &table_name){
return std::shared_ptr<GrpcBaseTask>(new PreloadTableTask(table_name));
}
ServerError
PreloadTableTask::OnExecute() {
try {
TimeRecorder rc("PreloadTableTask");
//step 1: check arguments
ServerError res = ValidationUtil::ValidateTableName(table_name_);
if (res != SERVER_SUCCESS) {
return SetError(res, "Invalid table name: " + table_name_);
}
//step 2: check table existence
engine::Status stat = DBWrapper::DB()->PreloadTable(table_name_);
if (!stat.ok()) {
return SetError(DB_META_TRANSACTION_FAILED, "Engine failed: " + stat.ToString());
}
rc.ElapseFromBegin("totally cost");
} catch (std::exception &ex) {
return SetError(SERVER_UNEXPECTED_ERROR, ex.what());
}
return SERVER_SUCCESS;
}
} }
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册