[Feature](executor)Stream load support workload group (#30763)

* Stream load support workload group

* skip mysql load
This commit is contained in:
wangbo
2024-02-04 19:52:19 +08:00
committed by yiguolei
parent 25f6a733fe
commit 27f65f4463

View File

@ -184,6 +184,7 @@ import org.apache.doris.thrift.TNodeInfo;
import org.apache.doris.thrift.TOlapTableIndexTablets;
import org.apache.doris.thrift.TOlapTablePartition;
import org.apache.doris.thrift.TPipelineFragmentParams;
import org.apache.doris.thrift.TPipelineWorkloadGroup;
import org.apache.doris.thrift.TPrivilegeCtrl;
import org.apache.doris.thrift.TPrivilegeHier;
import org.apache.doris.thrift.TPrivilegeStatus;
@ -1800,14 +1801,29 @@ public class FrontendServiceImpl implements FrontendService.Iface {
ctx.setThreadLocalInfo();
try {
List<TPipelineWorkloadGroup> tWorkloadGroupList = null;
// mysql load request not carry user info, need fix it later.
boolean hasUserName = !StringUtils.isEmpty(ctx.getQualifiedUser());
if (Config.enable_workload_group && hasUserName) {
tWorkloadGroupList = Env.getCurrentEnv().getWorkloadGroupMgr().getWorkloadGroup(ctx);
}
if (!Strings.isNullOrEmpty(request.getLoadSql())) {
httpStreamPutImpl(request, result, ctx);
if (tWorkloadGroupList != null && tWorkloadGroupList.size() > 0) {
result.params.setWorkloadGroups(tWorkloadGroupList);
}
return result;
} else {
if (Config.enable_pipeline_load) {
result.setPipelineParams(pipelineStreamLoadPutImpl(request));
if (tWorkloadGroupList != null && tWorkloadGroupList.size() > 0) {
result.pipeline_params.setWorkloadGroups(tWorkloadGroupList);
}
} else {
result.setParams(streamLoadPutImpl(request, result));
if (tWorkloadGroupList != null && tWorkloadGroupList.size() > 0) {
result.params.setWorkloadGroups(tWorkloadGroupList);
}
}
}
} catch (UserException e) {