[ 
https://issues.apache.org/jira/browse/HDFS-6448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Colin Patrick McCabe updated HDFS-6448:
---------------------------------------

    Summary: BlockReaderLocalLegacy should set socket timeout via 
conf.socketTimeout  (was: change BlockReaderLocalLegacy timeout detail)

> BlockReaderLocalLegacy should set socket timeout via 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)

Reply via email to