[ 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