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

Underconstruction blocks can be considered missing



    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.0.0-alpha2, 2.8.1
    • 2.9.0, 3.0.0-alpha4, 2.8.2
    • None
    • None
    • Reviewed


      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



              nroberts Nathan Roberts
              nroberts Nathan Roberts
              0 Vote for this issue
              10 Start watching this issue