From 838b63d8364f25f5bd1d3c2c0f0e26e0efd1f802 Mon Sep 17 00:00:00 2001 From: Benjamin Teke Date: Wed, 22 Jun 2022 18:20:09 +0200 Subject: [PATCH] YARN-10974. Queue filter in CS UI v1 does not work as expected. Contributed by Chengbing Liu. --- .../webapp/CapacitySchedulerPage.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/CapacitySchedulerPage.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/CapacitySchedulerPage.java index 4a58545f08..b6ea7c704a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/CapacitySchedulerPage.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/CapacitySchedulerPage.java @@ -103,7 +103,7 @@ private void renderLeafQueueInfoWithPartition(Block html) { ? NodeLabel.DEFAULT_NODE_LABEL_PARTITION : nodeLabel; // first display the queue's label specific details : ResponseInfo ri = - info("\'" + lqinfo.getQueuePath().substring(5) + info("\'" + lqinfo.getQueuePath() + "\' Queue Status for Partition \'" + nodeLabelDisplay + "\'"); renderQueueCapacityInfo(ri, nodeLabel); html.__(InfoBlock.class); @@ -113,7 +113,7 @@ private void renderLeafQueueInfoWithPartition(Block html) { // second display the queue specific details : ri = - info("\'" + lqinfo.getQueuePath().substring(5) + "\' Queue Status") + info("\'" + lqinfo.getQueuePath() + "\' Queue Status") .__("Queue State:", lqinfo.getQueueState()); renderCommonLeafQueueInfo(ri); @@ -125,7 +125,7 @@ private void renderLeafQueueInfoWithPartition(Block html) { private void renderLeafQueueInfoWithoutParition(Block html) { ResponseInfo ri = - info("\'" + lqinfo.getQueuePath().substring(5) + "\' Queue Status") + info("\'" + lqinfo.getQueuePath() + "\' Queue Status") .__("Queue State:", lqinfo.getQueueState()); renderQueueCapacityInfo(ri, ""); renderCommonLeafQueueInfo(ri); @@ -337,7 +337,7 @@ public void render(Block html) { span().$style(join(width(usedCapPercent), ";font-size:1px;left:0%;", absUsedCap > absCap ? Q_OVER : Q_UNDER)). __('.').__(). - span(".q", "Queue: "+info.getQueuePath().substring(5)).__(). + span(".q", info.getQueuePath()).__(). span().$class("qstats").$style(left(Q_STATS_POS)). __(join(percent(used), " used")).__(); @@ -481,7 +481,7 @@ public void render(Block html) { a(_Q).$style(width(Q_MAX_WIDTH)). span().$style(join(width(used), ";left:0%;", used > 1 ? Q_OVER : Q_UNDER)).__(".").__(). - span(".q", "Queue: root").__(). + span(".q", "root").__(). span().$class("qstats").$style(left(Q_STATS_POS)). __(join(percent(used), " used")).__(). __(QueueBlock.class).__(); @@ -511,7 +511,7 @@ public void render(Block html) { a(_Q).$style(width(Q_MAX_WIDTH)). span().$style(join(width(used), ";left:0%;", used > 1 ? Q_OVER : Q_UNDER)).__(".").__(). - span(".q", "Queue: root").__(). + span(".q", "root").__(). span().$class("qstats").$style(left(Q_STATS_POS)). __(join(percent(used), " used")).__(). __(QueueBlock.class).__().__(); @@ -645,12 +645,9 @@ public void render(HtmlBlock.Block html) { " }", " });", " $('#cs').bind('select_node.jstree', function(e, data) {", - " var q = $('.q', data.rslt.obj).first().text();", - " if (q == 'Queue: root') q = '';", - " else {", - " q = q.substr(q.lastIndexOf(':') + 2);", - " q = '^' + q.substr(q.lastIndexOf('.') + 1) + '$';", - " }", + " var queues = $('.q', data.rslt.obj);", + " var q = '^' + queues.first().text();", + " q += queues.length == 1 ? '$' : '\\\\.';", " $('#apps').dataTable().fnFilter(q, 4, true);", " });", " $('#cs').show();",