Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
1.0.2, 2.0.0-alpha
-
None
-
Reviewed
Description
In DataXceiver, we currently use Socket.setSoTimeout to try to manage the read timeout when switching between reading the initial opCode, reading a keepalive opcode, and reading the status after a successfully sent block. However, since all of these reads use the same underlying DataInputStream, the change to the socket timeout isn't respected. Thus, they all occur with whatever timeout is set on the socket at the time of DataXceiver construction. In practice this turns out to be 0, which can cause infinitely hung xceivers.
Attachments
Attachments
Issue Links
- is blocked by
-
HADOOP-8350 Improve NetUtils.getInputStream to return a stream which has a tunable timeout
-
- Closed
-