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

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

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.0-alpha1
    • Fix Version/s: 2.4.0
    • Component/s: datanode
    • Labels:
      None
    • Target Version/s:
    • Hadoop Flags:
      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.01.patch
          13 kB
          Arpit Agarwal
        2. HDFS-5153.03.patch
          18 kB
          Arpit Agarwal
        3. HDFS-5153.03b.patch
          18 kB
          Arpit Agarwal
        4. HDFS-5153.04.patch
          98 kB
          Arpit Agarwal
        5. HDFS-5153.05.patch
          98 kB
          Arpit Agarwal

          Issue Links

            Activity

              People

              • Assignee:
                arpitagarwal Arpit Agarwal
                Reporter:
                arpitagarwal Arpit Agarwal
              • Votes:
                0 Vote for this issue
                Watchers:
                15 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: