diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 21ddb1c5f4f746f2c9e281d2c3e3a2b7b9677dbf..55da3c82a04457a5e1747b2aaf1405347d67d972 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -34,6 +34,8 @@ else() endif() message(STATUS "Build type = ${BUILD_TYPE}") +#add_definitions(-DNEW_SCHEDULER) + project(milvus VERSION "${MILVUS_VERSION}") project(milvus_engine LANGUAGES CUDA CXX) diff --git a/cpp/src/db/scheduler/TaskScheduler.cpp b/cpp/src/db/scheduler/TaskScheduler.cpp index 8adf690be1bfe42494741588dfec26d6eb589744..2c75af9010853370667c4069d5cf599eb9f8842f 100644 --- a/cpp/src/db/scheduler/TaskScheduler.cpp +++ b/cpp/src/db/scheduler/TaskScheduler.cpp @@ -89,7 +89,7 @@ TaskScheduler::TaskDispatchWorker() { return true; } -#if 1 +#ifdef NEW_SCHEDULER // TODO: Put task into Disk-TaskTable auto task = TaskConvert(task_ptr); auto disk_list = ResMgrInst::GetInstance()->GetDiskResources(); diff --git a/cpp/src/db/scheduler/context/DeleteContext.cpp b/cpp/src/db/scheduler/context/DeleteContext.cpp index c1987dc739482da65e4fd7643ebba755a42146ce..26ab02265a33c8cb805becc84a04c8ff271eaeff 100644 --- a/cpp/src/db/scheduler/context/DeleteContext.cpp +++ b/cpp/src/db/scheduler/context/DeleteContext.cpp @@ -20,9 +20,11 @@ DeleteContext::DeleteContext(const std::string &table_id, meta::Meta::Ptr &meta_ } void DeleteContext::WaitAndDelete() { +#ifdef NEW_SCHEDULER std::unique_lock lock(mutex_); cv_.wait(lock, [&] { return done_resource == num_resource_; }); meta_ptr_->DeleteTableFiles(table_id_); +#endif } void DeleteContext::ResourceDone() { diff --git a/cpp/src/server/grpc_impl/GrpcRequestTask.cpp b/cpp/src/server/grpc_impl/GrpcRequestTask.cpp index 31c4ebf5b158f70fd03a0e50645c48591512cb6a..b2cb3ae05b270d1d470ab09a87575af70f76a645 100644 --- a/cpp/src/server/grpc_impl/GrpcRequestTask.cpp +++ b/cpp/src/server/grpc_impl/GrpcRequestTask.cpp @@ -616,23 +616,20 @@ SearchTask::OnExecute() { auto record_array_size = search_param_.query_record_array_size(); std::vector vec_f(record_array_size * table_info.dimension_, 0); for (size_t i = 0; i < record_array_size; i++) { - for (size_t j = 0; j < table_info.dimension_; j++) { - if (search_param_.query_record_array(i).vector_data().empty()) { - return SetError(SERVER_INVALID_ROWRECORD_ARRAY, - "Query record float array is empty"); - } - uint64_t query_vec_dim = search_param_.query_record_array( - i).vector_data().size(); - if (query_vec_dim != table_info.dimension_) { - ServerError error_code = SERVER_INVALID_VECTOR_DIMENSION; - std::string error_msg = - "Invalid rowrecord dimension: " + std::to_string(query_vec_dim) - + " vs. table dimension:" + std::to_string(table_info.dimension_); - return SetError(error_code, error_msg); - } - vec_f[i * table_info.dimension_ + j] = search_param_.query_record_array( - i).vector_data(j); + if (search_param_.query_record_array(i).vector_data().empty()) { + return SetError(SERVER_INVALID_ROWRECORD_ARRAY, "Query record float array is empty"); } + uint64_t query_vec_dim = search_param_.query_record_array(i).vector_data().size(); + if (query_vec_dim != table_info.dimension_) { + ServerError error_code = SERVER_INVALID_VECTOR_DIMENSION; + std::string error_msg = "Invalid rowrecord dimension: " + std::to_string(query_vec_dim) + + " vs. table dimension:" + std::to_string(table_info.dimension_); + return SetError(error_code, error_msg); + } + + memcpy(&vec_f[i * table_info.dimension_], + search_param_.query_record_array(i).vector_data().data(), + table_info.dimension_ * sizeof(float)); } rc.ElapseFromBegin("prepare vector data");