[
https://issues.apache.org/jira/browse/HADOOP-8350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13414434#comment-13414434
]
Zhihong Ted Yu commented on HADOOP-8350:
----------------------------------------
Searching through hadoop 2.0 code base, I think only DataXceiver.java uses the
setTimeout() feature of SocketInputWrapper.
Since SocketInputWrapper is marked unstable, we should try to reduce the impact
of API change to downstream projects.
e.g. getInputStream() should still return InputStream rather than returning
SocketInputWrapper.
DataXceiver can cast this return value to SocketInputWrapper and call
setTimeout() on the cast.
> Improve NetUtils.getInputStream to return a stream which has a tunable timeout
> ------------------------------------------------------------------------------
>
> Key: HADOOP-8350
> URL: https://issues.apache.org/jira/browse/HADOOP-8350
> Project: Hadoop Common
> Issue Type: Improvement
> Components: util
> Affects Versions: 1.0.0, 2.0.0-alpha
> Reporter: Todd Lipcon
> Assignee: Todd Lipcon
> Fix For: 2.0.0-alpha
>
> Attachments: hadoop-8350.txt, hadoop-8350.txt, hadoop-8350.txt
>
>
> Currently, NetUtils.getInputStream will set the timeout on the new stream
> based on the socket's configured timeout at the time of construction. After
> that, the timeout cannot be changed. This causes a problem for cases like
> HDFS-3357. One approach used in some places in the code is to construct new
> streams when the timeout has to be changed, but this can cause bugs given
> that the streams are often wrapped by BufferedInputStreams.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira