This is an automated email from the ASF dual-hosted git repository. xxyu pushed a commit to branch kylin5 in repository https://gitbox.apache.org/repos/asf/kylin.git
commit e23c37715bd712a3d27a68199bc64e4e280c1f46 Author: huangsheng <huangshen...@163.com> AuthorDate: Wed Oct 26 17:13:34 2022 +0800 KYLIN-5365 given an incorrect query queue, check-1700-spark-kystorage.sh prints the detail error message Co-authored-by: huangsheng <huangshen...@163.com> --- .../main/java/org/apache/kylin/tool/setup/KapGetClusterInfo.java | 9 ++++++++- .../java/org/apache/kylin/tool/setup/YarnResourceInfoTool.java | 5 +++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/tool/src/main/java/org/apache/kylin/tool/setup/KapGetClusterInfo.java b/src/tool/src/main/java/org/apache/kylin/tool/setup/KapGetClusterInfo.java index 0292dc77ee..d3cf151d59 100644 --- a/src/tool/src/main/java/org/apache/kylin/tool/setup/KapGetClusterInfo.java +++ b/src/tool/src/main/java/org/apache/kylin/tool/setup/KapGetClusterInfo.java @@ -111,7 +111,7 @@ public class KapGetClusterInfo { val patternedLogger = new BufferedLogger(logger); val response = config.getCliCommandExecutor().execute(command, patternedLogger).getCmd(); logger.info("yarn metrics response: {}", response); - Map<String, Integer> clusterMetricsInfos; + Map<String, Integer> clusterMetricsInfos = null; if (response == null) { throw new IllegalStateException( "Cannot get yarn metrics with url: " + yarnMasterUrlBase + YARN_METRICS_SUFFIX); @@ -135,6 +135,13 @@ public class KapGetClusterInfo { } else { clusterMetricsInfos = yarnClusterMetrics.getYarnResourceInfoByQueueName(this.queueName); } + + if (clusterMetricsInfos == null || clusterMetricsInfos.isEmpty()) { + logger.error("The queue:{} is invalid, please check kylin.properties", this.queueName); + Unsafe.systemExit(101); + return; + } + clusterMetricsMap.put(AVAILABLE_VIRTUAL_CORE, clusterMetricsInfos.get(AVAILABLE_VIRTUAL_CORE)); clusterMetricsMap.put(AVAILABLE_MEMORY, clusterMetricsInfos.get(AVAILABLE_MEMORY)); return; diff --git a/src/tool/src/main/java/org/apache/kylin/tool/setup/YarnResourceInfoTool.java b/src/tool/src/main/java/org/apache/kylin/tool/setup/YarnResourceInfoTool.java index 3fa65d45eb..33984f9093 100644 --- a/src/tool/src/main/java/org/apache/kylin/tool/setup/YarnResourceInfoTool.java +++ b/src/tool/src/main/java/org/apache/kylin/tool/setup/YarnResourceInfoTool.java @@ -32,6 +32,7 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.nio.file.Paths; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -67,6 +68,10 @@ public class YarnResourceInfoTool { Map<String, Integer> clusterMetricsMap = new HashMap<>(); QueueInfo queueInfo = yarnClient.getQueueInfo(queue); + if (queueInfo == null) { + return Collections.emptyMap(); + } + availableMB += queueInfo.getQueueStatistics().getAvailableMemoryMB(); availableVirtualCores += queueInfo.getQueueStatistics().getAvailableVCores();