github-actions[bot] commented on code in PR #26710: URL: https://github.com/apache/doris/pull/26710#discussion_r1397013747
########## be/src/runtime/task_group/task_group.cpp: ########## @@ -185,49 +187,80 @@ tg_info->version = _version; } -Status TaskGroupInfo::parse_group_info(const TPipelineWorkloadGroup& resource_group, - TaskGroupInfo* task_group_info) { - if (UNLIKELY(!check_group_info(resource_group))) { - std::stringstream ss; - ss << "incomplete resource group parameters: "; - resource_group.printTo(ss); - LOG(WARNING) << ss.str(); - return Status::InternalError(ss.str()); +Status TaskGroupInfo::parse_topic_info(const TWorkloadGroupInfo& workload_group_info, + taskgroup::TaskGroupInfo* task_group_info) { + // 1 id + int tg_id = 0; + if (workload_group_info.__isset.id) { + tg_id = workload_group_info.id; + } else { + return Status::InternalError<false>("workload group id is required"); } + task_group_info->id = tg_id; - auto iter = resource_group.properties.find(CPU_SHARE); - uint64_t share = 0; - std::from_chars(iter->second.c_str(), iter->second.c_str() + iter->second.size(), share); + // 2 name + std::string name = "INVALID_NAME"; + if (workload_group_info.__isset.name) { + name = workload_group_info.name; + } + task_group_info->name = name; + + // 3 version + int version = 0; + if (workload_group_info.__isset.version) { + version = workload_group_info.version; + } else { + return Status::InternalError<false>("workload group version is required"); + } + task_group_info->version = version; - int cpu_hard_limit = 0; - auto iter2 = resource_group.properties.find(CPU_HARD_LIMIT); - std::from_chars(iter2->second.c_str(), iter2->second.c_str() + iter2->second.size(), - cpu_hard_limit); + // 4 cpu_share + uint64_t cpu_share = 1024; Review Comment: warning: 1024 is a magic number; consider replacing it with a named constant [readability-magic-numbers] ```cpp uint64_t cpu_share = 1024; ^ ``` ########## be/src/runtime/task_group/task_group_manager.cpp: ########## @@ -59,10 +59,38 @@ void TaskGroupManager::get_resource_groups(const std::function<bool(const TaskGr } } -Status TaskGroupManager::create_and_get_task_scheduler(uint64_t tg_id, std::string tg_name, - int cpu_hard_limit, int cpu_shares, - ExecEnv* exec_env, - QueryContext* query_ctx_ptr) { +TaskGroupPtr TaskGroupManager::get_task_group_by_id(uint64_t tg_id) { + std::shared_lock<std::shared_mutex> r_lock(_group_mutex); + if (_task_groups.find(tg_id) != _task_groups.end()) { + return _task_groups.at(tg_id); + } + return nullptr; +} + +bool TaskGroupManager::set_task_sche_for_query_ctx(uint64_t tg_id, QueryContext* query_ctx_ptr) { Review Comment: warning: method 'set_task_sche_4_query_ctx' can be made static [readability-convert-member-functions-to-static] be/src/runtime/task_group/task_group_manager.h:67: ```diff - bool set_task_sche_4_query_ctx(uint64_t tg_id, QueryContext* query_ctx_ptr); + static bool set_task_sche_4_query_ctx(uint64_t tg_id, QueryContext* query_ctx_ptr); ``` ########## be/src/runtime/task_group/task_group.cpp: ########## @@ -185,49 +187,80 @@ void TaskGroup::task_group_info(TaskGroupInfo* tg_info) const { tg_info->version = _version; } -Status TaskGroupInfo::parse_group_info(const TPipelineWorkloadGroup& resource_group, - TaskGroupInfo* task_group_info) { - if (UNLIKELY(!check_group_info(resource_group))) { - std::stringstream ss; - ss << "incomplete resource group parameters: "; - resource_group.printTo(ss); - LOG(WARNING) << ss.str(); - return Status::InternalError(ss.str()); +Status TaskGroupInfo::parse_topic_info(const TWorkloadGroupInfo& workload_group_info, Review Comment: warning: method 'parse_topic_info' can be made static [readability-convert-member-functions-to-static] ```suggestion static Status TaskGroupInfo::parse_topic_info(const TWorkloadGroupInfo& workload_group_info, ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org