You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Guo Ruijing (JIRA)" <ji...@apache.org> on 2014/10/28 06:00:35 UTC
[jira] [Created] (HDFS-7298) HDFS may honor socket timeout
configuration
Guo Ruijing created HDFS-7298:
---------------------------------
Summary: 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)