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

Increase Quota initialization threads

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.3.1, 3.4.0, 3.2.3
    • Component/s: namenode
    • Labels:
      None
    • Target Version/s:
    • Hadoop Flags:
      Reviewed
    • Release Note:
      The default quota initialization thread count during the NameNode startup process (dfs.namenode.quota.init-threads) is increased from 4 to 12.

      Description

      On large namespaces, the quota initialization at started can take a long time with the default 4 threads. Also on NN failover, often the quota needs to be calculated before the failover can completed, delaying the failover.

      I performed some benchmarks some time back on a large image (316M inodes 35GB on disk), the quota load takes:

      quota - 4  threads 39 seconds
      quota - 8  threads 23 seconds
      quota - 12 threads 20 seconds
      quota - 16 threads 15 seconds
      

      As the quota is calculated when the NN is starting up (and hence doing no other work) or at failover time before the new standby becomes active, I think the quota should use as many threads as possible.

      I proposed we change the default to 8 or 12 on at least trunk and branch-3.3 so we have a better default going forward.

      Has anyone got any other thoughts?

        Attachments

        1. HDFS-15942.001.patch
          2 kB
          Stephen O'Donnell

          Activity

            People

            • Assignee:
              sodonnell Stephen O'Donnell
              Reporter:
              sodonnell Stephen O'Donnell
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: