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

Underconstruction blocks can be considered missing

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


    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.0-alpha2, 2.8.1
    • Fix Version/s: 2.9.0, 3.0.0-alpha4, 2.8.2
    • Component/s: None
    • Labels:
    • Hadoop Flags:


      Following sequence of events can lead to a block underconstruction being considered missing.

      • pipeline of 3 DNs, DN1->DN2->DN3
      • DN3 has a failing disk so some updates take a long time
      • Client writes entire block and is waiting for final ack
      • DN1, DN2 and DN3 have all received the block
      • DN1 is waiting for ACK from DN2 who is waiting for ACK from DN3
      • DN3 is having trouble finalizing the block due to the failing drive. It does eventually succeed but it is VERY slow at doing so.
      • DN2 times out waiting for DN3 and tears down its pieces of the pipeline, so DN1 notices and does the same. Neither DN1 nor DN2 finalized the block.
      • DN3 finally sends an IBR to the NN indicating the block has been received.
      • Drive containing the block on DN3 fails enough that the DN takes it offline and notifies NN of failed volume
      • NN removes DN3's replica from the triplets and then declares the block missing because there are no other replicas

      Seems like we shouldn't consider uncompleted blocks for replication.


        1. HDFS-11755-branch-2.8.002.patch
          8 kB
          Nathan Roberts
        2. HDFS-11755-branch-2.002.patch
          8 kB
          Nathan Roberts
        3. HDFS-11755.002.patch
          8 kB
          Nathan Roberts
        4. HDFS-11755.001.patch
          8 kB
          Nathan Roberts

        Issue Links



            • Assignee:
              nroberts Nathan Roberts
              nroberts Nathan Roberts


              • Created:

                Issue deployment