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

Datanode should send block reports for each storage in a separate message

VotersStop watchingWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.0.0-alpha1
    • 2.4.0
    • datanode
    • None
    • Reviewed

    Description

      When the number of blocks on the DataNode grows large we start running into a few issues:

      1. Block reports take a long time to process on the NameNode. In testing we have seen that a block report with 6 Million blocks takes close to one second to process on the NameNode. The NameSystem write lock is held during this time.
      2. We start hitting the default protobuf message limit of 64MB somewhere around 10 Million blocks. While we can increase the message size limit it already takes over 7 seconds to serialize/unserialize a block report of this size.

      HDFS-2832 has introduced the concept of a DataNode as a collection of storages i.e. the NameNode is aware of all the volumes (storage directories) attached to a given DataNode. This makes it easy to split block reports from the DN by sending one report per storage directory to mitigate the above problems.

      Attachments

        1. HDFS-5153.05.patch
          98 kB
          Arpit Agarwal
        2. HDFS-5153.04.patch
          98 kB
          Arpit Agarwal
        3. HDFS-5153.03b.patch
          18 kB
          Arpit Agarwal
        4. HDFS-5153.03.patch
          18 kB
          Arpit Agarwal
        5. HDFS-5153.01.patch
          13 kB
          Arpit Agarwal

        Issue Links

        Activity

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

          People

            arp Arpit Agarwal
            arp Arpit Agarwal
            Votes:
            0 Vote for this issue
            Watchers:
            14 Stop watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment