Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-4461

DirectoryScanner: volume path prefix takes up memory for every block that is scanned

Log workAgile BoardRank to TopRank to BottomAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.0.3-alpha
    • 2.1.0-beta, 0.23.11
    • None
    • None

    Description

      In the DirectoryScanner, we create a class ScanInfo for every block. This object contains two File objects-- one for the metadata file, and one for the block file. Since those File objects contain full paths, users who pick a lengthly path for their volume roots will end up using an extra N_blocks * path_prefix bytes per block scanned. We also don't really need to store File objects-- storing strings and then creating File objects as needed would be cheaper. This would be a nice efficiency improvement.

      Attachments

        1. memory-analysis.png
          140 kB
          Colin McCabe
        2. HDFS-4661.006.patch
          10 kB
          Colin McCabe
        3. HDFS-4461.branch-0.23.patch
          11 kB
          Kihwal Lee
        4. HDFS-4461.004.patch
          6 kB
          Colin McCabe
        5. HDFS-4461.003.patch
          4 kB
          Colin McCabe
        6. HDFS-4461.002.patch
          4 kB
          Colin McCabe

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            cmccabe Colin McCabe Assign to me
            cmccabe Colin McCabe
            Votes:
            0 Vote for this issue
            Watchers:
            14 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment