Improve IPC idle connection management
--------------------------------------

                 Key: HADOOP-2909
                 URL: https://issues.apache.org/jira/browse/HADOOP-2909
             Project: Hadoop Core
          Issue Type: Bug
          Components: ipc
    Affects Versions: 0.16.0
            Reporter: Hairong Kuang
             Fix For: 0.17.0


IPC server determines if a connection is idle or not by checking if the 
connection does not have any IO activity for a predefined max idle time. An 
idle connection will be closed even if the connection still has outstanding 
requests or replies. This causes RPC failures when a server becomes slow or if 
a request takes a long time to be served. In jira, I'd like to propose the 
following changes to IPC idle management:
1. Add data structures to the IPC server that keep track of outstanding 
requests.
2. IPC server does not close a connection that has outstanding requests/replies 
even when it has no IO activities for a while.
3. The default client-side max idle time should be in several minutes not 1 
second. 
4. The server-side max idle time should be greater than the client-side max 
idle time, for example, twice of the client-side max idle time. So server 
mainly deals with clients that are crashed without closing 
its connections. 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to