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.