[
https://issues.apache.org/jira/browse/HDFS-6448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Colin Patrick McCabe updated HDFS-6448:
---------------------------------------
Resolution: Fixed
Fix Version/s: 2.5.0
Target Version/s: 2.5.0
Status: Resolved (was: Patch Available)
> BlockReaderLocalLegacy should set socket timeout based on conf.socketTimeout
> ----------------------------------------------------------------------------
>
> Key: HDFS-6448
> URL: https://issues.apache.org/jira/browse/HDFS-6448
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: hdfs-client
> Affects Versions: 3.0.0, 2.4.0
> Reporter: Liang Xie
> Assignee: Liang Xie
> Fix For: 2.5.0
>
> Attachments: HDFS-6448.txt
>
>
> Our hbase deployed upon hadoop2.0, in one accident, we hit HDFS-5016 in HDFS
> side, but we also found from HBase side, the dfs client was hung at
> getBlockReader, after reading code, we found there is a timeout setting in
> current codebase though, but the default hdfsTimeout value is "-1" ( from
> Client.java:getTimeout(conf) )which means no timeout...
> The hung stack trace like following:
> at $Proxy21.getBlockLocalPathInfo(Unknown Source)
> at
> org.apache.hadoop.hdfs.protocolPB.ClientDatanodeProtocolTranslatorPB.getBlockLocalPathInfo(ClientDatanodeProtocolTranslatorPB.java:215)
> at
> org.apache.hadoop.hdfs.BlockReaderLocal.getBlockPathInfo(BlockReaderLocal.java:267)
> at
> org.apache.hadoop.hdfs.BlockReaderLocal.newBlockReader(BlockReaderLocal.java:180)
> at org.apache.hadoop.hdfs.DFSClient.getLocalBlockReader(DFSClient.java:812)
> One feasible fix is replacing the hdfsTimeout with socketTimeout. see
> attached patch. Most of credit should give [~liushaohui]
--
This message was sent by Atlassian JIRA
(v6.2#6252)