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

Use a throttler for replica write in datanode

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • datanode
    • None

    Description

      BlockReceiver process packets in BlockReceiver.receivePacket() as follows

      1. read from socket
      2. enqueue the ack
      3. write to downstream
      4. write to disk

      The above steps is repeated for each packet in a single thread. When there are a lot of concurrent writes in a datanode, the write time in #4 becomes very long. As a result, it leads to SocketTimeoutException since it cannot read from the socket for a long time.

      Attachments

        1. h7265_20141018.patch
          9 kB
          Tsz-wo Sze

        Issue Links

          Activity

            People

              szetszwo Tsz-wo Sze
              szetszwo Tsz-wo Sze
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: