Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-972

Improve the rack-aware replica placement performance

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.11.0
    • 0.12.0
    • None
    • None

    Description

      This issue aims to improve the rack-aware replica placement performance. A major idea is to avoid constructing lists of possible targets for random selection in chooseTarget, which currently needs interating all DatanodeDescriptors. I plan to change the NetworkTopology data structure as follow:
      1. each InnerNode stores its childrens as a list;
      2. each InnerNode adds a new field numberOfLeaves the total number of leaves (i.e. data nodes) in its subtree.
      NetworkTopology will support two new methods:
      1. DatanodeDescriptor chooseRandom( String scope): it randomly choose one leave from scope.
      2. DatanodeDescriptor chooseRandomExclude(String excludedScope): it randomly choose one leave from ~scope

      In addition, Issue 971 will also help improve the performance of the rack-aware DFS patch.

      Attachments

        1. rack_performance.patch
          35 kB
          Hairong Kuang
        2. rack_performance2.patch
          36 kB
          Hairong Kuang
        3. rack_performance3.patch
          37 kB
          Hairong Kuang

        Issue Links

        Activity

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

          People

            hairong Hairong Kuang
            hairong Hairong Kuang
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment