This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0-beta in repository https://gitbox.apache.org/repos/asf/doris.git
commit 7b0de61f0f0cf495834c73e1eebd8d71b8905e4d Author: luozenglin <[email protected]> AuthorDate: Mon Jun 5 15:33:26 2023 +0800 [fix](workload-group) fix workload group non-existence error (#20428) --- .../main/java/org/apache/doris/qe/StmtExecutor.java | 6 +++--- .../resource/workloadgroup/WorkloadGroupMgr.java | 19 ++++++++++++++----- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java index e3f76c649e..c5c23055ff 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java @@ -559,9 +559,9 @@ public class StmtExecutor { private void handleQueryWithRetry(TUniqueId queryId) throws Exception { // queue query here - if (!parsedStmt.isExplain() && Config.enable_workload_group && Config.enable_query_queue) { - this.queryQueue = analyzer.getEnv().getWorkloadGroupMgr() - .getWorkloadGroupQueryQueue(context.sessionVariable.workloadGroup); + if (!parsedStmt.isExplain() && Config.enable_workload_group && Config.enable_query_queue + && context.getSessionVariable().enablePipelineEngine()) { + this.queryQueue = analyzer.getEnv().getWorkloadGroupMgr().getWorkloadGroupQueryQueue(context); try { this.offerRet = queryQueue.offer(); } catch (InterruptedException e) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/resource/workloadgroup/WorkloadGroupMgr.java b/fe/fe-core/src/main/java/org/apache/doris/resource/workloadgroup/WorkloadGroupMgr.java index 1813271a4d..98a8d6891d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/resource/workloadgroup/WorkloadGroupMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/resource/workloadgroup/WorkloadGroupMgr.java @@ -102,10 +102,7 @@ public class WorkloadGroupMgr implements Writable, GsonPostProcessable { } public List<TPipelineWorkloadGroup> getWorkloadGroup(ConnectContext context) throws UserException { - String groupName = context.getSessionVariable().getWorkloadGroup(); - if (Strings.isNullOrEmpty(groupName)) { - groupName = Env.getCurrentEnv().getAuth().getWorkloadGroup(context.getQualifiedUser()); - } + String groupName = getWorkloadGroupName(context); List<TPipelineWorkloadGroup> workloadGroups = Lists.newArrayList(); readLock(); try { @@ -120,7 +117,8 @@ public class WorkloadGroupMgr implements Writable, GsonPostProcessable { return workloadGroups; } - public QueryQueue getWorkloadGroupQueryQueue(String groupName) throws UserException { + public QueryQueue getWorkloadGroupQueryQueue(ConnectContext context) throws UserException { + String groupName = getWorkloadGroupName(context); readLock(); try { WorkloadGroup workloadGroup = nameToWorkloadGroup.get(groupName); @@ -133,6 +131,17 @@ public class WorkloadGroupMgr implements Writable, GsonPostProcessable { } } + private String getWorkloadGroupName(ConnectContext context) { + String groupName = context.getSessionVariable().getWorkloadGroup(); + if (Strings.isNullOrEmpty(groupName)) { + groupName = Env.getCurrentEnv().getAuth().getWorkloadGroup(context.getQualifiedUser()); + } + if (Strings.isNullOrEmpty(groupName)) { + groupName = DEFAULT_GROUP_NAME; + } + return groupName; + } + private void checkAndCreateDefaultGroup() { WorkloadGroup defaultWorkloadGroup = null; writeLock(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
