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

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

K0K0V0K commented on code in PR #4655:
URL: https://github.com/apache/hadoop/pull/4655#discussion_r1064630413


##########
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/ConfigurationProperties.java:
##########
@@ -94,6 +108,42 @@ public Map<String, String> getPropertiesWithPrefix(
     return properties;
   }
 
+  /**
+   * Update or create value in the nodes.
+   * @param name name of the property
+   * @param value value of the property
+   */
+  public void set(String name, String value) {
+    PrefixNode node = getNode(name);

Review Comment:
   if the node is null, than the getNode will create a WARNING message
   ```
     /**
      * Finds the node that matches the whole key or create it, if it does not 
exist.
      * @param name name of the property
      * @return the found or created node, if the name is empty, than return 
with null
      */
     private PrefixNode getNode(String name) {
       List<String> propertyKeyParts = splitPropertyByDelimiter(name);
       if (!propertyKeyParts.isEmpty()) {
         return findOrCreatePrefixNode(null, propertyKeyParts.iterator());
       } else {
         LOG.warn("Empty configuration property");
         return null;
       }
     }
   ```



##########
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/ConfigurationProperties.java:
##########
@@ -94,6 +108,42 @@ public Map<String, String> getPropertiesWithPrefix(
     return properties;
   }
 
+  /**
+   * Update or create value in the nodes.
+   * @param name name of the property
+   * @param value value of the property
+   */
+  public void set(String name, String value) {
+    PrefixNode node = getNode(name);
+    if (node != null) {
+      node.getValues().put(name, value);
+    }
+  }
+
+  /**
+   * Delete value from nodes.
+   * @param name name of the property
+   */
+  public void unset(String name) {
+    PrefixNode node = getNode(name);
+    if (node != null) {

Review Comment:
   if the node is null, than the getNode will create a WARNING message
   ```
     /**
      * Finds the node that matches the whole key or create it, if it does not 
exist.
      * @param name name of the property
      * @return the found or created node, if the name is empty, than return 
with null
      */
     private PrefixNode getNode(String name) {
       List<String> propertyKeyParts = splitPropertyByDelimiter(name);
       if (!propertyKeyParts.isEmpty()) {
         return findOrCreatePrefixNode(null, propertyKeyParts.iterator());
       } else {
         LOG.warn("Empty configuration property");
         return null;
       }
     }
   ```





> Avoid unnecessary reconstruction of ConfigurationProperties
> -----------------------------------------------------------
>
>                 Key: YARN-11216
>                 URL: https://issues.apache.org/jira/browse/YARN-11216
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: capacity scheduler
>            Reporter: András Győri
>            Assignee: Bence Kosztolnik
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> ConfigurationProperties is expensive to create, however, due to its immutable 
> nature it is possible to copy it/share it between configuration objects (eg. 
> create a copy constructor). 



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

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to