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

Xuan Gong commented on YARN-1001:
---------------------------------

bq. RMContext store all the applications in one map. This data structure is not 
friendly to GetApps and GetAppStatistics, which need to go through the whole 
collection. Given some regular query criteria, such as states and 
applicationTypes, it would be good if we can somehow index the apps according 
to these criteria. Therefore, we can speed up the two APIs, maybe also some 
other operations on the app collection of RMContext.

I think that we are fine to use ConcurrentMap. Because most of time, we are 
just using add/remove. The situation that need to go through the whole 
collection to find a specific value mostly exist in webService and CLIs, and 
those webService request and client requests are very high frequency (at least 
not as frequent as we are using add/remove). So, we are fine to just use 
ConcurrentMap data structure.

bq. Now web API ignores the case when matching the applicationType. IMHO, 
ApplicationClientProtocol should have the same behavior. Moreover, I think it's 
good to define criteria of naming an applicationType, for example, letter and 
number only, case insensitive and etc.

About the case insensitive, I think that happens mostly when the users do the 
input. Since we have already take care of those case insensitive in 
ApplicationCLI methods or WebService methods, I do not think 
ApplicationClientProtocol (ClientRMService) need to consider this. So, for 
ApplicationClientProtocol, everything can be capital, for the users input, they 
can be either capital or lower case. When we do actually comparison(in 
applicationCLI methods or WebService methods), we can convert them to either 
capital or lower case. That is what we are doing currently, and I think it is 
enough.

                
> YARN should provide per application-type and state statistics
> -------------------------------------------------------------
>
>                 Key: YARN-1001
>                 URL: https://issues.apache.org/jira/browse/YARN-1001
>             Project: Hadoop YARN
>          Issue Type: Task
>          Components: api
>    Affects Versions: 2.1.0-beta
>            Reporter: Srimanth Gunturi
>            Assignee: Zhijie Shen
>            Priority: Blocker
>             Fix For: 2.1.1-beta
>
>         Attachments: YARN-1001.1.patch, YARN-1001.2.patch, YARN-1001.3.patch, 
> YARN-1001.4.patch, YARN-1001.5.patch, YARN-1001.6.patch, YARN-1001.7.patch
>
>
> In Ambari we plan to show for MR2 the number of applications finished, 
> running, waiting, etc. It would be efficient if YARN could provide per 
> application-type and state aggregated counts.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to