hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Liang Xie (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-6448) change BlockReaderLocalLegacy timeout detail
Date Tue, 27 May 2014 02:53:01 GMT

    [ https://issues.apache.org/jira/browse/HDFS-6448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14009232#comment-14009232

Liang Xie commented on HDFS-6448:

Yeh, here we have two fix chooses. seems replacing with another good default timeout(like
socketTimeout) is more low-risk.
since disabling ping:
1) Client.getTimeout(conf) is called by NameNodeProxies.createNNProxyWithClientProtocol()
as well, i am not 100% confident the getTimeout() result changing weather interfere this path
or not so far.
2) what's the exact "ping" background be added, i don't know clearly.

> change BlockReaderLocalLegacy timeout detail
> --------------------------------------------
>                 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
>         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

View raw message