Return-Path: Delivered-To: apmail-hadoop-common-commits-archive@www.apache.org Received: (qmail 84287 invoked from network); 27 Sep 2010 18:14:42 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 27 Sep 2010 18:14:42 -0000 Received: (qmail 40082 invoked by uid 500); 27 Sep 2010 18:14:42 -0000 Delivered-To: apmail-hadoop-common-commits-archive@hadoop.apache.org Received: (qmail 39830 invoked by uid 500); 27 Sep 2010 18:14:41 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-dev@hadoop.apache.org Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 39620 invoked by uid 99); 27 Sep 2010 18:14:41 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Sep 2010 18:14:41 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Sep 2010 18:14:40 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 7EDCA2388906; Mon, 27 Sep 2010 18:14:20 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1001848 - in /hadoop/common/branches/branch-0.20-append: CHANGES.txt src/hdfs/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java Date: Mon, 27 Sep 2010 18:14:20 -0000 To: common-commits@hadoop.apache.org From: hairong@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100927181420.7EDCA2388906@eris.apache.org> Author: hairong Date: Mon Sep 27 18:14:20 2010 New Revision: 1001848 URL: http://svn.apache.org/viewvc?rev=1001848&view=rev Log: HDFS-1346. DFSClient receives out of order packet ack. Contributed by Hairong Kuang. Modified: hadoop/common/branches/branch-0.20-append/CHANGES.txt hadoop/common/branches/branch-0.20-append/src/hdfs/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java Modified: hadoop/common/branches/branch-0.20-append/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.20-append/CHANGES.txt?rev=1001848&r1=1001847&r2=1001848&view=diff ============================================================================== --- hadoop/common/branches/branch-0.20-append/CHANGES.txt (original) +++ hadoop/common/branches/branch-0.20-append/CHANGES.txt Mon Sep 27 18:14:20 2010 @@ -80,6 +80,8 @@ Release 0.20-append - Unreleased HDFS-1254. Support append/sync via the default configuration. (dhruba) + HDFS-1346. DFSClient receives out of order packet ack. (hairong) + Release 0.20.3 - Unreleased NEW FEATURES Modified: hadoop/common/branches/branch-0.20-append/src/hdfs/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.20-append/src/hdfs/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java?rev=1001848&r1=1001847&r2=1001848&view=diff ============================================================================== --- hadoop/common/branches/branch-0.20-append/src/hdfs/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java (original) +++ hadoop/common/branches/branch-0.20-append/src/hdfs/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java Mon Sep 27 18:14:20 2010 @@ -882,8 +882,9 @@ class BlockReceiver implements java.io.C long seqno = -2; PipelineAck ack = new PipelineAck(); + boolean localMirrorError = mirrorError; try { - if (!mirrorError) { + if (!localMirrorError) { // read an ack from downstream datanode ack.readFields(mirrorIn, numTargets); if (LOG.isDebugEnabled()) { @@ -892,7 +893,7 @@ class BlockReceiver implements java.io.C } seqno = ack.getSeqno(); } - if (seqno >= 0 || mirrorError) { + if (seqno >= 0 || localMirrorError) { Packet pkt = null; synchronized (this) { while (running && datanode.shouldRun && ackQueue.size() == 0) { @@ -910,7 +911,7 @@ class BlockReceiver implements java.io.C pkt = ackQueue.removeFirst(); expected = pkt.seqno; notifyAll(); - if (seqno != expected && !mirrorError) { + if (seqno != expected && !localMirrorError) { throw new IOException("PacketResponder " + numTargets + " for block " + block + " expected seqno:" + expected +