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

Standby NameNode process getBlocks request to reduce Active load

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

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.3.1, 3.4.0
    • balancer & mover, namenode
    • None
    • Hide
      Enable balancer to redirect getBlocks request to a Standby Namenode, thus reducing the performance impact of balancer to the Active NameNode.

      The feature is disabled by default. To enable it, configure the hdfs-site.xml of balancer:
      dfs.ha.allow.stale.reads = true.
      Show
      Enable balancer to redirect getBlocks request to a Standby Namenode, thus reducing the performance impact of balancer to the Active NameNode. The feature is disabled by default. To enable it, configure the hdfs-site.xml of balancer: dfs.ha.allow.stale.reads = true.

    Description

      The performance of Active NameNode could be impact when Balancer requests #getBlocks, since query blocks of overly full DNs performance is extremely inefficient currently. The main reason is NameNodeRpcServer#getBlocks hold read lock for long time. In extreme case, all handlers of Active NameNode RPC server are occupied by one reader NameNodeRpcServer#getBlocks and other write operation calls, thus Active NameNode enter a state of false death for number of seconds even for minutes.
      The similar performance concerns of Balancer have reported by HDFS-9412, HDFS-7967, etc.

      If Standby NameNode can shoulder #getBlocks heavy burden, it could speed up the progress of balancing and reduce performance impact to Active NameNode.

      Attachments

        1. HDFS-13183.004.patch
          16 kB
          Xiaoqiao He
        2. HDFS-13183.005.patch
          16 kB
          Xiaoqiao He
        3. HDFS-13183.006.patch
          14 kB
          Xiaoqiao He
        4. HDFS-13183.007.patch
          14 kB
          Xiaoqiao He
        5. HDFS-13183.addendum.patch
          7 kB
          Xiaoqiao He
        6. HDFS-13183.addendum.patch
          7 kB
          Xiaoqiao He
        7. HDFS-13183-trunk.001.patch
          0.9 kB
          Xiaoqiao He
        8. HDFS-13183-trunk.002.patch
          2 kB
          Xiaoqiao He
        9. HDFS-13183-trunk.003.patch
          13 kB
          Xiaoqiao He

        Issue Links

        Activity

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

          People

            hexiaoqiao Xiaoqiao He
            hexiaoqiao Xiaoqiao He
            Votes:
            1 Vote for this issue
            Watchers:
            31 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment