Uploaded image for project: 'Hadoop Map/Reduce'
  1. Hadoop Map/Reduce
  2. MAPREDUCE-4907

TrackerDistributedCacheManager issues too many getFileStatus calls

    Details

    • Target Version/s:
    • Hadoop Flags:
      Reviewed

      Description

      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.

        Attachments

        1. MAPREDUCE-4907-trunk-1.patch
          15 kB
          Sandy Ryza
        2. MAPREDUCE-4907-trunk-1.patch
          15 kB
          Sandy Ryza
        3. MAPREDUCE-4907-trunk-1.patch
          15 kB
          Sandy Ryza
        4. MAPREDUCE-4907-trunk.patch
          15 kB
          Sandy Ryza
        5. MAPREDUCE-4907.patch
          16 kB
          Sandy Ryza

          Activity

            People

            • Assignee:
              sandyr Sandy Ryza
              Reporter:
              sandyr Sandy Ryza
            • Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: