Sfoglia il codice sorgente

HDFS-4807. createSocketForPipeline() should not include timeout extension on connect. Contributed by Cristina Abad.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1485861 13f79535-47bb-0310-9956-ffa450edef68
Kihwal Lee 12 anni fa
parent
commit
2ad7397c49

+ 3 - 0
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

@@ -3068,6 +3068,9 @@ Release 0.23.8 - UNRELEASED
 
     HDFS-3875. Issue handling checksum errors in write pipeline. (kihwal)
 
+    HDFS-4807. createSocketForPipeline() should not include timeout extension
+    on connect. (Cristina L. Abad via kihwal)
+
 Release 0.23.7 - UNRELEASED
 
   INCOMPATIBLE CHANGES

+ 1 - 1
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java

@@ -1290,7 +1290,7 @@ public class DFSOutputStream extends FSOutputSummer implements Syncable {
     final InetSocketAddress isa = NetUtils.createSocketAddr(dnAddr);
     final Socket sock = client.socketFactory.createSocket();
     final int timeout = client.getDatanodeReadTimeout(length);
-    NetUtils.connect(sock, isa, client.getRandomLocalInterfaceAddr(), timeout);
+    NetUtils.connect(sock, isa, client.getRandomLocalInterfaceAddr(), client.getConf().socketTimeout);
     sock.setSoTimeout(timeout);
     sock.setSendBufferSize(HdfsConstants.DEFAULT_DATA_SOCKET_SIZE);
     if(DFSClient.LOG.isDebugEnabled()) {