Return-Path: Delivered-To: apmail-hadoop-core-commits-archive@www.apache.org Received: (qmail 56251 invoked from network); 18 Jun 2008 22:44:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Jun 2008 22:44:33 -0000 Received: (qmail 67982 invoked by uid 500); 18 Jun 2008 22:44:35 -0000 Delivered-To: apmail-hadoop-core-commits-archive@hadoop.apache.org Received: (qmail 67947 invoked by uid 500); 18 Jun 2008 22:44:35 -0000 Mailing-List: contact core-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: core-dev@hadoop.apache.org Delivered-To: mailing list core-commits@hadoop.apache.org Received: (qmail 67934 invoked by uid 99); 18 Jun 2008 22:44:35 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Jun 2008 15:44:35 -0700 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; Wed, 18 Jun 2008 22:43:53 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 6D3AF2388A5D; Wed, 18 Jun 2008 15:43:42 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r669324 - in /hadoop/core/trunk: CHANGES.txt src/mapred/org/apache/hadoop/mapred/MapTask.java Date: Wed, 18 Jun 2008 22:43:42 -0000 To: core-commits@hadoop.apache.org From: cdouglas@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080618224342.6D3AF2388A5D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: cdouglas Date: Wed Jun 18 15:43:42 2008 New Revision: 669324 URL: http://svn.apache.org/viewvc?rev=669324&view=rev Log: HADOOP-3550. Fix the serialization data structures in MapTask where the value lengths are incorrectly calculated. Modified: hadoop/core/trunk/CHANGES.txt hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/MapTask.java Modified: hadoop/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=669324&r1=669323&r2=669324&view=diff ============================================================================== --- hadoop/core/trunk/CHANGES.txt (original) +++ hadoop/core/trunk/CHANGES.txt Wed Jun 18 15:43:42 2008 @@ -625,6 +625,9 @@ HADOOP-3520. TestDFSUpgradeFromImage triggers a race condition in the Upgrade Manager. Fixed. (dhruba) + HADOOP-3550. Fix the serialization data structures in MapTask where the + value lengths are incorrectly calculated. (cdouglas) + Release 0.17.1 - Unreleased INCOMPATIBLE CHANGES Modified: hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/MapTask.java URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/MapTask.java?rev=669324&r1=669323&r2=669324&view=diff ============================================================================== --- hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/MapTask.java (original) +++ hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/MapTask.java Wed Jun 18 15:43:42 2008 @@ -426,7 +426,7 @@ // serialize key bytes into buffer int keystart = bufindex; keySerializer.serialize(key); - if (bufindex < keystart) { + if (bufindex < keystart || bufindex == bufvoid) { // wrapped the key; reset required bb.reset(); keystart = 0; @@ -853,10 +853,11 @@ * deserialized value bytes. Should only be called during a spill. */ private void getVBytesForOffset(int kvoff, InMemValBytes vbytes) { - final int nextindex = kvoff / ACCTSIZE == kvend - 1 + final int nextindex = ((kvoff/ACCTSIZE) == + ((kvend - 1 + kvoffsets.length) % kvoffsets.length)) ? bufend : kvindices[(kvoff + ACCTSIZE + KEYSTART) % kvindices.length]; - int vallen = (nextindex > kvindices[kvoff + VALSTART]) + int vallen = (nextindex >= kvindices[kvoff + VALSTART]) ? nextindex - kvindices[kvoff + VALSTART] : (bufvoid - kvindices[kvoff + VALSTART]) + nextindex; vbytes.reset(kvbuffer, kvindices[kvoff + VALSTART], vallen);