From 5b26d194f39f664869971e05abfe25918ffe14a9 Mon Sep 17 00:00:00 2001 From: Yu Kun Date: Fri, 16 Aug 2019 10:20:21 +0800 Subject: [PATCH] add unittest Former-commit-id: 89139a24caab971fa16b27b814ca4731efd0ea20 --- cpp/src/db/insert/MemManagerImpl.cpp | 6 ++++-- cpp/src/db/insert/MemTable.cpp | 2 +- cpp/src/db/insert/MemTable.h | 2 +- cpp/src/db/insert/VectorSource.cpp | 6 +++--- cpp/src/db/insert/VectorSource.h | 2 +- cpp/src/server/grpc_impl/GrpcRequestTask.cpp | 11 +++++++++-- cpp/unittest/metrics/prometheus_test.cpp | 3 +++ 7 files changed, 22 insertions(+), 10 deletions(-) diff --git a/cpp/src/db/insert/MemManagerImpl.cpp b/cpp/src/db/insert/MemManagerImpl.cpp index bd71f874da..7c0110e56b 100644 --- a/cpp/src/db/insert/MemManagerImpl.cpp +++ b/cpp/src/db/insert/MemManagerImpl.cpp @@ -42,9 +42,11 @@ Status MemManagerImpl::InsertVectorsNoLock(const std::string &table_id, MemTablePtr mem = GetMemByTable(table_id); VectorSource::Ptr source = std::make_shared(n, vectors); - auto status = mem->Add(source); + auto status = mem->Add(source, vector_ids); if (status.ok()) { - vector_ids = source->GetVectorIds(); + if (vector_ids.empty()) { + vector_ids = source->GetVectorIds(); + } } return status; } diff --git a/cpp/src/db/insert/MemTable.cpp b/cpp/src/db/insert/MemTable.cpp index 38206e25fd..ca63c02ad9 100644 --- a/cpp/src/db/insert/MemTable.cpp +++ b/cpp/src/db/insert/MemTable.cpp @@ -15,7 +15,7 @@ MemTable::MemTable(const std::string &table_id, } -Status MemTable::Add(VectorSource::Ptr &source) { +Status MemTable::Add(VectorSource::Ptr &source, IDNumbers &vector_ids) { while (!source->AllAdded()) { diff --git a/cpp/src/db/insert/MemTable.h b/cpp/src/db/insert/MemTable.h index 4f0cdb7d2a..7b2d93ffe8 100644 --- a/cpp/src/db/insert/MemTable.h +++ b/cpp/src/db/insert/MemTable.h @@ -21,7 +21,7 @@ class MemTable { MemTable(const std::string &table_id, const std::shared_ptr &meta, const Options &options); - Status Add(VectorSource::Ptr &source); + Status Add(VectorSource::Ptr &source, IDNumbers &vector_ids); void GetCurrentMemTableFile(MemTableFile::Ptr &mem_table_file); diff --git a/cpp/src/db/insert/VectorSource.cpp b/cpp/src/db/insert/VectorSource.cpp index f36eeb09bd..5a24d261af 100644 --- a/cpp/src/db/insert/VectorSource.cpp +++ b/cpp/src/db/insert/VectorSource.cpp @@ -12,9 +12,9 @@ namespace engine { VectorSource::VectorSource(const size_t &n, const float *vectors) : - n_(n), - vectors_(vectors), - id_generator_(new SimpleIDGenerator()) { + n_(n), + vectors_(vectors), + id_generator_(std::make_shared()) { current_num_vectors_added = 0; } diff --git a/cpp/src/db/insert/VectorSource.h b/cpp/src/db/insert/VectorSource.h index 9792772d80..3f7e4e8f5e 100644 --- a/cpp/src/db/insert/VectorSource.h +++ b/cpp/src/db/insert/VectorSource.h @@ -37,7 +37,7 @@ class VectorSource { size_t current_num_vectors_added; - IDGenerator *id_generator_; + std::shared_ptr id_generator_; }; //VectorSource diff --git a/cpp/src/server/grpc_impl/GrpcRequestTask.cpp b/cpp/src/server/grpc_impl/GrpcRequestTask.cpp index 6d2842a34b..73f38528cf 100644 --- a/cpp/src/server/grpc_impl/GrpcRequestTask.cpp +++ b/cpp/src/server/grpc_impl/GrpcRequestTask.cpp @@ -381,9 +381,9 @@ InsertTask::InsertTask(const ::milvus::grpc::InsertParam &insert_param, } BaseTaskPtr -InsertTask::Create(const ::milvus::grpc::InsertParam &insert_infos, +InsertTask::Create(const ::milvus::grpc::InsertParam &insert_param, ::milvus::grpc::VectorIds &record_ids) { - return std::shared_ptr(new InsertTask(insert_infos, record_ids)); + return std::shared_ptr(new InsertTask(insert_param, record_ids)); } ServerError @@ -400,6 +400,13 @@ InsertTask::OnExecute() { return SetError(SERVER_INVALID_ROWRECORD_ARRAY, "Row record array is empty"); } + if (!record_ids_.vector_id_array().empty()) { + if (record_ids_.vector_id_array().size() != insert_param_.row_record_array_size()) { + return SetError(SERVER_ILLEGAL_VECTOR_ID, + "Size of vector ids is not equal to row record array size"); + } + } + //step 2: check table existence engine::meta::TableSchema table_info; table_info.table_id_ = insert_param_.table_name(); diff --git a/cpp/unittest/metrics/prometheus_test.cpp b/cpp/unittest/metrics/prometheus_test.cpp index 521e00fc5c..004e58a5fc 100644 --- a/cpp/unittest/metrics/prometheus_test.cpp +++ b/cpp/unittest/metrics/prometheus_test.cpp @@ -54,4 +54,7 @@ TEST(PrometheusTest, PROMETHEUS_TEST){ instance.ConnectionGaugeDecrement(); instance.KeepingAliveCounterIncrement(); instance.OctetsSet(); + instance.CPUCoreUsagePercentSet(); + instance.GPUTemperature(); + instance.CPUTemperature(); } \ No newline at end of file