[ https://issues.apache.org/jira/browse/MAPREDUCE-5268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Karthik Kambatla updated MAPREDUCE-5268: ---------------------------------------- Attachment: mr-5268.patch Updated patch to abstract out collection/size into a local utility class and minimal changes to JobListCache. Considered implementing a full-blown implementation of ConcurrentSkipListMapWithSize extending ConcurrentSkipList and adding it to hadoop-common, but decided against it as that seemed a little overboard. > Improve history server startup performance > ------------------------------------------ > > Key: MAPREDUCE-5268 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-5268 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: jobhistoryserver > Affects Versions: 0.23.7, 2.0.4-alpha > Reporter: Jason Lowe > Assignee: Karthik Kambatla > Attachments: mr-5268.patch, mr-5268.patch, mr-5268-prelim.patch > > > The history server can easily take many minutes to startup when there are a > significant number of jobs to scan in the done directory. However the > scanning of files is not the bottleneck, rather it's the heavy use of > ConcurrentSkipListMap.size in HistoryFileManager. > ConcurrentSkipListMap.size is a very expensive operation, especially on maps > with many entries, as it has to scan every entry to compute the size. We > should avoid calling this method or at least minimize its use. -- 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