[ https://issues.apache.org/jira/browse/HDFS-8311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14535272#comment-14535272 ]
Colin Patrick McCabe commented on HDFS-8311: -------------------------------------------- Good catch, [~yzhangal]. We should fix those other cases as well. I think we should do those in separate JIRAs, if that's more convenient for you. Also, it would be nice to have unit tests for these timeouts at some point, to ensure that they don't get removed. +1 again for the patch. Thanks, guys. > DataStreamer.transfer() should timeout the socket InputStream. > -------------------------------------------------------------- > > Key: HDFS-8311 > URL: https://issues.apache.org/jira/browse/HDFS-8311 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client > Reporter: Esteban Gutierrez > Assignee: Esteban Gutierrez > Labels: BB2015-05-TBR > Attachments: > 0001-HDFS-8311-DataStreamer.transfer-should-timeout-the-s.patch, > HDFS-8311.001.patch > > > While validating some HA failure modes we found that HDFS clients can take a > long time to recover or sometimes don't recover at all since we don't setup > the socket timeout in the InputStream: > {code} > private void transfer () { ... > ... > OutputStream unbufOut = NetUtils.getOutputStream(sock, writeTimeout); > InputStream unbufIn = NetUtils.getInputStream(sock); > ... > } > {code} > The InputStream should have its own timeout in the same way as the > OutputStream. -- This message was sent by Atlassian JIRA (v6.3.4#6332)