[ 
https://issues.apache.org/jira/browse/YARN-11965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18089193#comment-18089193
 ] 

ASF GitHub Bot commented on YARN-11965:
---------------------------------------

Copilot commented on code in PR #8547:
URL: https://github.com/apache/hadoop/pull/8547#discussion_r3414873799


##########
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/QueueMetrics.java:
##########
@@ -1275,6 +1275,18 @@ public int getReservedVirtualCores() {
   public int getReservedContainers() {
     return reservedContainers.value();
   }
+
+  public int getAllocatedContainers(String partition) {
+    return getPartitionMetrics(partition).getAllocatedContainers();
+  }
+
+  public int getPendingContainers(String partition) {
+    return getPartitionMetrics(partition).getPendingContainers();
+  }
+
+  public int getReservedContainers(String partition) {
+    return getPartitionMetrics(partition).getReservedContainers();
+  }

Review Comment:
   The new partition-specific container getters call 
`getPartitionMetrics(partition)`, which lazily creates and registers a 
`PartitionQueueMetrics` instance when it doesn't already exist. Since 
`/ws/v1/cluster/metrics` calls these methods for every known partition, a 
read-only REST request can mutate the metrics registry and potentially grow the 
number of registered metric sources over time. Prefer a non-creating lookup 
(return 0 when missing) to keep the REST path side-effect free.





> Support partition-aware resource metrics in RM cluster metrics REST API
> -----------------------------------------------------------------------
>
>                 Key: YARN-11965
>                 URL: https://issues.apache.org/jira/browse/YARN-11965
>             Project: Hadoop YARN
>          Issue Type: Improvement
>            Reporter: Chenyu Zheng
>            Assignee: Chenyu Zheng
>            Priority: Major
>              Labels: pull-request-available
>
> When node labels are enabled, different labels represent separate resource 
> pools. However, the RM REST API `/ws/v1/cluster/metrics` currently exposes 
> fields such as totalMB and totalVirtualCores based on the default partition 
> only. As a result, resources from non-default partitions are not visible to 
> external resource management systems, which may incorrectly determine that 
> the cluster has no available capacity after new labels are added.
> The API should expose cluster resource metrics across all partitions and 
> provide partition-level metrics so clients can distinguish capacity and usage 
> by node label.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to