Sandy Ryza created MAPREDUCE-4907:
-------------------------------------

             Summary: TrackerDistributedCacheManager issues too many 
getFileStatus calls
                 Key: MAPREDUCE-4907
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4907
             Project: Hadoop Map/Reduce
          Issue Type: Bug
          Components: mrv1, tasktracker
    Affects Versions: 1.1.1
            Reporter: Sandy Ryza
            Assignee: Sandy Ryza


TrackerDistributedCacheManager issues a number of redundant getFileStatus calls 
when determining the timestamps and visibilities of files in the distributed 
cache.  300 distributed cache files deep in the directory structure can hammer 
HDFS with a couple thousand requests.

A couple optimizations can reduce this load:
1. determineTimestamps and determineCacheVisibilities both call getFileStatus 
on every file.  We could cache the results of the former and use them for the 
latter.
2. determineCacheVisibilities needs to check that all ancestor directories of 
each file have execute permissions for everyone.  This currently entails a 
getFileStatus on each ancestor directory for each file.  The results of these 
getFileStatus calls could be cached as well.

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