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

Allow block reports to be processed during checkpointing on standby name node



    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • 2.7.0
    • None
    • None


      On a reasonably busy HDFS cluster, there are stream of creates, causing data nodes to generate incremental block reports. When a standby name node is checkpointing, RPC handler threads trying to process a full or incremental block report is blocked on the name system's fsLock, because the checkpointer acquires the read lock on it. This can create a serious problem if the size of name space is big and checkpointing takes a long time.

      All available RPC handlers can be tied up very quickly. If you have 100 handlers, it only takes 34 file creates. If a separate service RPC port is not used, HA transition will have to wait in the call queue for minutes. Even if a separate service RPC port is configured, hearbeats from datanodes will be blocked. A standby NN with a big name space can lose all data nodes after checkpointing. The rpc calls will also be retransmitted by data nodes many times, filling up the call queue and potentially causing listen queue overflow.

      Since block reports are not modifying any state that is being saved to fsimage, I propose letting them through during checkpointing.


        1. HDFS-7097.patch
          10 kB
          Kihwal Lee
        2. HDFS-7097.patch
          12 kB
          Kihwal Lee
        3. HDFS-7097.patch
          12 kB
          Kihwal Lee
        4. HDFS-7097.patch
          12 kB
          Kihwal Lee
        5. HDFS-7097.ultimate.trunk.patch
          12 kB
          Kihwal Lee

        Issue Links



              kihwal Kihwal Lee
              kihwal Kihwal Lee
              0 Vote for this issue
              22 Start watching this issue