HBase
  1. HBase
  2. HBASE-11504

Don't flush the socket buffer for each response

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 0.99.0
    • Fix Version/s: None
    • Component/s: Client, regionserver
    • Labels:
      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.

        Activity

        Nicolas Liochon created issue -
        Andrew Purtell made changes -
        Field Original Value New Value
        Fix Version/s 2.0.0 [ 12327188 ]
        Fix Version/s 0.98.6 [ 12327376 ]
        Fix Version/s 0.98.5 [ 12326953 ]
        Affects Version/s 0.98.5 [ 12326953 ]
        Nicolas Liochon made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Won't Fix [ 2 ]
        Nicolas Liochon made changes -
        Fix Version/s 0.99.0 [ 12325675 ]
        Fix Version/s 2.0.0 [ 12327188 ]
        Fix Version/s 0.98.6 [ 12327376 ]

          People

          • Assignee:
            Nicolas Liochon
            Reporter:
            Nicolas Liochon
          • Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development