hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Lipcon (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MAPREDUCE-2855) ResourceBundle lookup during counter name resolution takes a lot of time
Date Mon, 13 Feb 2012 22:48:59 GMT

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

Todd Lipcon commented on MAPREDUCE-2855:
----------------------------------------

This is taking the majority of time when loading job history for large jobs. I see the following
stack:
{code}
  Stack:
    java.util.ResourceBundle.getClassContext(Native Method)
    java.util.ResourceBundle.getLoader(ResourceBundle.java:400)
    java.util.ResourceBundle.getBundle(ResourceBundle.java:705)
    org.apache.hadoop.mapreduce.util.ResourceBundles.getBundle(ResourceBundles.java:36)
    org.apache.hadoop.mapreduce.util.ResourceBundles.getValue(ResourceBundles.java:54)
    org.apache.hadoop.mapreduce.util.ResourceBundles.getCounterName(ResourceBundles.java:87)
    org.apache.hadoop.mapreduce.counters.FileSystemCounterGroup$FSCounter.localizeCounterName(FileSystemCounterGroup.java:85)
    org.apache.hadoop.mapreduce.counters.FileSystemCounterGroup$FSCounter.getDisplayName(FileSystemCounterGroup.java:81)
    org.apache.hadoop.mapreduce.TypeConverter.toYarn(TypeConverter.java:275)
    org.apache.hadoop.mapreduce.v2.hs.CompletedTask.<init>(CompletedTask.java:89)
    org.apache.hadoop.mapreduce.v2.hs.CompletedJob.loadFullHistoryData(CompletedJob.java:270)
    org.apache.hadoop.mapreduce.v2.hs.CompletedJob.<init>(CompletedJob.java:90)
    org.apache.hadoop.mapreduce.v2.hs.JobHistory.loadJob(JobHistory.java:657)
    org.apache.hadoop.mapreduce.v2.hs.JobHistory.findJob(JobHistory.java:737)
    org.apache.hadoop.mapreduce.v2.hs.JobHistory.getJob(JobHistory.java:903)
    org.apache.hadoop.mapreduce.v2.app.webapp.AppController.requireJob(AppController.java:313)
{code}

                
> ResourceBundle lookup during counter name resolution takes a lot of time
> ------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-2855
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2855
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>    Affects Versions: 0.23.0
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>
> Loading a job status page in trunk takes a lot of time, and it seems like most of the
time is spent resolving counter names. Looking through the JDK source, ResourceBundle.getBundle(String)
ends up calling getClassContext() which is not very efficient. I think if we pass our own
classloader manually it will be faster. In Counters.incrAllCounters, we may also be able to
avoid setting the counter name if one is already set.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message