[
https://issues.apache.org/jira/browse/HADOOP-2188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Owen O'Malley updated HADOOP-2188:
----------------------------------
Attachment: rpc-to.patch
This patch hasn't been tested at scale, but it passes unit tests.
It changes:
1. The call dropping code in the server is removed.
2. The client timeout code is removed.
3. The client writes an ipc with length = -1 once a minute if there are rpcs
using the connection.
4. The server ignores messages with length = -1
5. A few Iterators have been typed and interruptedexceptions not ignored.
6. Added a new closing state for ipc connections.
7. Explicitly kill the active rpcs when a connection is broken.
> RPC should send a ping rather than use client timeouts
> ------------------------------------------------------
>
> Key: HADOOP-2188
> URL: https://issues.apache.org/jira/browse/HADOOP-2188
> Project: Hadoop
> Issue Type: Improvement
> Components: ipc
> Reporter: Owen O'Malley
> Fix For: 0.16.0
>
> Attachments: rpc-to.patch
>
>
> Current RPC (really IPC) relies on client side timeouts to find "dead"
> sockets. I propose that we have a thread that once a minute (if the
> connection has been idle) writes a "ping" message to the socket. The client
> can detect a dead socket by the resulting error on the write, so no client
> side timeout is required. Also note that the ipc server does not need to
> respond to the ping, just discard it.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.