You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Nicolas Liochon (JIRA)" <ji...@apache.org> on 2014/07/11 12:36:04 UTC

[jira] [Created] (HBASE-11504) Don't flush the socket buffer for each response

Nicolas Liochon created HBASE-11504:
---------------------------------------

             Summary: Don't flush the socket buffer for each response
                 Key: HBASE-11504
                 URL: https://issues.apache.org/jira/browse/HBASE-11504
             Project: HBase
          Issue Type: Improvement
          Components: Client, regionserver
    Affects Versions: 0.99.0, 0.98.5
            Reporter: Nicolas Liochon
            Assignee: Nicolas Liochon
             Fix For: 0.99.0, 0.98.5


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.






--
This message was sent by Atlassian JIRA
(v6.2#6252)