diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 21ddb1c5f4..55da3c82a0 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 8adf690be1..2c75af9010 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 c1987dc739..26ab02265a 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 31c4ebf5b1..b2cb3ae05b 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");