Author: shv
Date: Wed Mar 14 19:33:52 2012
New Revision: 1300695
URL: http://svn.apache.org/viewvc?rev=1300695&view=rev
Log:
HDFS-1601. Pipeline ACKs are sent as lots of tiny TCP packets. Contributed by
Todd Lipcon
Modified:
hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt
hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java
Modified: hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt?rev=1300695&r1=1300694&r2=1300695&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt Wed Mar 14 19:33:52 2012
@@ -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)
Modified:
hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java?rev=1300695&r1=1300694&r2=1300695&view=diff
==============================================================================
---
hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java
(original)
+++
hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java
Wed Mar 14 19:33:52 2012
@@ -313,8 +313,9 @@ class DataXceiver extends DataTransferPr
" 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,