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

Sunil G commented on YARN-6280:
-------------------------------

Thanks [~cltlfcjin]

Few comments

#  {{DeSelectQuery.java}} could be inside *webapp* package itself. I do not 
think its a common api class yet.
# {{DeSelectQuery}}. I think *setDeSelect* need not have to be invoked from 
constructor. This method cud throw some exceptions, so it may be better as a 
separate public method which could be invoked from RMWebService api.
# Java doc for {{DeSelectParam}} could be more descriptive and could explain 
abt possible params which are supported now.
# In {{setDeSelect}} exception block, currently LOG.info is used. It could be 
warn.
# in below code
{code}
43          if (deSelect != null && !deSelect.isEmpty()) {
44            for (String query : deSelect) {
45              if (query != null && !query.trim().isEmpty()) {
{code}
I think {{query}} wont be null here. u may skip that. in first if condition, i 
think {{deSelect.isEmpty()}} could be avoided. for loop will skip if 
{{deSelect}} is empty. What you need is just check for null against deSelect. 
Its better a simple null check could be added and return directly. 
# Currently you have mentioned {{resourceRequests}} could be set in 
{{deSelect}}. Thinking out loud, is it more error prone or tougher for user to 
give exact *resourceRequests*. Could we name it *resource-requests* ? thoughts

> Add a query parameter in ResourceManager Cluster Applications REST API to 
> control whether or not returns ResourceRequest
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: YARN-6280
>                 URL: https://issues.apache.org/jira/browse/YARN-6280
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: resourcemanager, restapi
>    Affects Versions: 2.7.3
>            Reporter: Lantao Jin
>            Assignee: Lantao Jin
>         Attachments: YARN-6280.001.patch, YARN-6280.002.patch, 
> YARN-6280.003.patch, YARN-6280.004.patch, YARN-6280.005.patch, 
> YARN-6280.006.patch, YARN-6280.007.patch, YARN-6280.008.patch
>
>
> Begin from v2.7, the ResourceManager Cluster Applications REST API returns   
> ResourceRequest list. It's a very large construction in AppInfo.
> As a test, we use below URI to query only 2 results:
> http://<rm http 
> address:port>/ws/v1/cluster/apps?states=running,accepted&limit=2
> The results are very different:
> ||Hadoop version|Total Character|Total Word|Total Lines|Size||
> |2.4.1|1192|  42|     42|     1.2 KB|
> |2.7.1|1222179|       48740|  48735|  1.21 MB|
> Most RESTful API requesters don't know about this after upgraded and their 
> old queries may cause ResourceManager more GC consuming and slower. Even if 
> they know this but have no idea to reduce the impact of ResourceManager 
> except slow down their query frequency.
> The patch adding a query parameter "showResourceRequests" to help requesters 
> who don't need this information to reduce the overhead. In consideration of 
> compatibility of interface, the default value is true if they don't set the 
> parameter, so the behaviour is the same as now.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
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