Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-11504

Don't flush the socket buffer for each response

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 0.99.0
    • None
    • Client, regionserver
    • None

    Description

      today we flush the socket buffer after each response.

      The server maintains a queue of the calls to write. If this queue is not empty, we should not flush. We should do that only when the queue is empty. This will save some packets when nagle is disabled and we have a list of small responses to send (for example responses to puts, or small gets). This is linked to HBASE-11492.

      The client has a queue as well, so we could do the same thing there.

      There could be some drawbacks (if the server is overloaded between multiple channel for example writing the next response may take time), but it seems a good thing to do. For example, if the server if overloaded saving on buffer flush seems to be a nice thing to do.

      Any opinion?
      It's something I plan to do if I don't find a major drawback.

      Attachments

        Activity

          People

            Unassigned Unassigned
            nkeywal Nicolas Liochon
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: