[
https://issues.apache.org/jira/browse/HDFS-7298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14186367#comment-14186367
]
Guo Ruijing commented on HDFS-7298:
-----------------------------------
some background:
https://issues.apache.org/jira/secure/attachment/12446924/hdfs-561-0.20-append.txt
> HDFS may honor socket timeout configuration
> -------------------------------------------
>
> Key: HDFS-7298
> URL: https://issues.apache.org/jira/browse/HDFS-7298
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: datanode
> Reporter: Guo Ruijing
>
> DFS_CLIENT_SOCKET_TIMEOUT_KEY: HDFS socket read timeout
> DFS_DATANODE_SOCKET_WRITE_TIMEOUT_KEY: HDFS socket write timeout
> HDFS may honor socket timeout configuration:
> 1. DataXceiver.java:
> 1) existing code(not expected)
> int timeoutValue = dnConf.socketTimeout
> + (HdfsServerConstants.READ_TIMEOUT_EXTENSION * targets.length);
> int writeTimeout = dnConf.socketWriteTimeout +
> (HdfsServerConstants.WRITE_TIMEOUT_EXTENSION *
> targets.length);
> 2) proposed code:
> int timeoutValue = dnConf.socketTimeout ? (dnConf.socketTimeout
> + (HdfsServerConstants.READ_TIMEOUT_EXTENSION * targets.length)
> : 0;
> int writeTimeout = dnConf.socketWriteTimeout ?
> (dnConf.socketWriteTimeout +
> (HdfsServerConstants.WRITE_TIMEOUT_EXTENSION *
> targets.length)) : 0;
> 2) DFSClient.java
> existing code is expected:
> int getDatanodeWriteTimeout(int numNodes) {
> return (dfsClientConf.confTime > 0) ?
> (dfsClientConf.confTime + HdfsServerConstants.WRITE_TIMEOUT_EXTENSION *
> numNodes) : 0;
> }
> int getDatanodeReadTimeout(int numNodes) {
> return dfsClientConf.socketTimeout > 0 ?
> (HdfsServerConstants.READ_TIMEOUT_EXTENSION * numNodes +
> dfsClientConf.socketTimeout) : 0;
> }
> 3) DataNode.java:
> existing code is not expected:
> long writeTimeout = dnConf.socketWriteTimeout +
> HdfsServerConstants.WRITE_TIMEOUT_EXTENSION *
> (targets.length-1);
> proposed code:
> long writeTimeout = dnConf.socketWriteTimeout ?
> (dnConf.socketWriteTimeout +
> HdfsServerConstants.WRITE_TIMEOUT_EXTENSION *
> (targets.length-1)) : 0;
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)