Sfoglia il codice sorgente

HDFS-1601. Pipeline ACKs are sent as lots of tiny TCP packets. Contributed by Todd Lipcon

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.22@1300695 13f79535-47bb-0310-9956-ffa450edef68
Konstantin Shvachko 13 anni fa
parent
commit
b9e957a723

+ 2 - 0
hdfs/CHANGES.txt

@@ -14,6 +14,8 @@ Release 0.22.1 - Unreleased
 
     HDFS-2886. CreateEditLogs should generate a realistic edit log. (shv)
 
+    HDFS-1601. Pipeline ACKs are sent as lots of tiny TCP packets (todd)
+
   BUG FIXES
 
     HDFS-1910. NameNode should not save fsimage twice. (shv)

+ 3 - 2
hdfs/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java

@@ -313,8 +313,9 @@ class DataXceiver extends DataTransferProtocol.Receiver
              " dest: " + localAddress);
 
     DataOutputStream replyOut = null;   // stream to prev target
-    replyOut = new DataOutputStream(
-                   NetUtils.getOutputStream(s, datanode.socketWriteTimeout));
+    replyOut = new DataOutputStream(new BufferedOutputStream(
+                   NetUtils.getOutputStream(s, datanode.socketWriteTimeout),
+                   SMALL_BUFFER_SIZE));
     if (datanode.isBlockTokenEnabled) {
       try {
         datanode.blockTokenSecretManager.checkAccess(blockToken, null, block,