Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-8069

Enable TCP_NODELAY by default for IPC

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.23.0, 2.4.1
    • Fix Version/s: 2.6.0
    • Component/s: ipc
    • Labels:
      None
    • Target Version/s:
    • Hadoop Flags:
      Reviewed
    • Release Note:
      This change enables the TCP_NODELAY flag for all Hadoop IPC connections, hence bypassing TCP Nagling. Nagling interacts poorly with TCP delayed ACKs especially for request-response protocols.

      Description

      I think we should switch the default for the IPC client and server NODELAY options to true. As wikipedia says:

      In general, since Nagle's algorithm is only a defense against careless applications, it will not benefit a carefully written application that takes proper care of buffering; the algorithm has either no effect, or negative effect on the application.

      Since our IPC layer is well contained and does its own buffering, we shouldn't be careless.

        Attachments

        1. hadoop-8069.txt
          3 kB
          Todd Lipcon

          Issue Links

            Activity

              People

              • Assignee:
                tlipcon Todd Lipcon
                Reporter:
                tlipcon Todd Lipcon
              • Votes:
                1 Vote for this issue
                Watchers:
                15 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: