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

Improve performance of postponed block scans

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 2.6.0
    • Fix Version/s: 2.8.0, 3.0.0-alpha2
    • Component/s: namenode
    • Labels:
      None

      Description

      When a standby goes active, it marks all nodes as "stale" which will cause block invalidations for over-replicated blocks to be queued until full block reports are received from the nodes with the block. The replication monitor scans the queue with O(N) runtime. It picks a random offset and iterates through the set to randomize blocks scanned.

      The result is devastating when a cluster loses multiple nodes during a rolling upgrade. Re-replication occurs, the nodes come back, the excess block invalidations are postponed. Rescanning just 2k blocks out of millions of postponed blocks may take multiple seconds. During the scan, the write lock is held which stalls all other processing.

        Attachments

        1. HDFS-8674.patch
          6 kB
          Daryn Sharp
        2. HDFS-8674.patch
          6 kB
          Daryn Sharp
        3. HDFS-8674.2.patch
          7 kB
          Daryn Sharp
        4. HDFS-8674.trunk.patch
          8 kB
          Daryn Sharp
        5. HDFS-8674.branch-2.patch
          7 kB
          Daryn Sharp
        6. HDFS-8674.trunk.2.patch
          8 kB
          Daryn Sharp
        7. HDFS-8674-branch-2.7.patch
          7 kB
          Konstantin Shvachko

          Issue Links

            Activity

              People

              • Assignee:
                daryn Daryn Sharp
                Reporter:
                daryn Daryn Sharp
              • Votes:
                0 Vote for this issue
                Watchers:
                18 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: