Return-Path: Delivered-To: apmail-hadoop-core-dev-archive@www.apache.org Received: (qmail 57048 invoked from network); 27 Mar 2009 12:17:14 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 27 Mar 2009 12:17:14 -0000 Received: (qmail 95463 invoked by uid 500); 27 Mar 2009 12:17:13 -0000 Delivered-To: apmail-hadoop-core-dev-archive@hadoop.apache.org Received: (qmail 95415 invoked by uid 500); 27 Mar 2009 12:17:13 -0000 Mailing-List: contact core-dev-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-dev@hadoop.apache.org Received: (qmail 95405 invoked by uid 99); 27 Mar 2009 12:17:13 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Mar 2009 12:17:13 +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.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Mar 2009 12:17:11 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 83A97234C041 for ; Fri, 27 Mar 2009 05:16:50 -0700 (PDT) Message-ID: <1663798593.1238156210520.JavaMail.jira@brutus> Date: Fri, 27 Mar 2009 05:16:50 -0700 (PDT) From: "Jingkei Ly (JIRA)" To: core-dev@hadoop.apache.org Subject: [jira] Commented: (HADOOP-5589) TupleWritable: Lift implicit limit on the number of values that can be stored In-Reply-To: <729859116.1238156210491.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HADOOP-5589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12689884#action_12689884 ] Jingkei Ly commented on HADOOP-5589: ------------------------------------ The example below demonstrates the current 64-value limit in TupleWritable: {code} Text emptyText = new Text("Should not be set written"); public void testTupleBoundarySuccess() throws Exception { Writable[] values = new Writable[64]; Arrays.fill(values,emptyText); values[63] = new Text("Should be the only value set written"); TupleWritable tuple = new TupleWritable(values); tuple.setWritten(63); for (int pos=0; pos TupleWritable: Lift implicit limit on the number of values that can be stored > ----------------------------------------------------------------------------- > > Key: HADOOP-5589 > URL: https://issues.apache.org/jira/browse/HADOOP-5589 > Project: Hadoop Core > Issue Type: Improvement > Components: mapred > Affects Versions: 0.21.0 > Reporter: Jingkei Ly > > TupleWritable uses an instance field of the primitive type, long, which I presume is so that it can quickly determine if a position has been written to in its array of Writables (by using bit-shifting operations on the long field). The problem with this is that it implies that there is a maximum limit of 64 values you can store in a TupleWritable. > An example of a use-case where I think this would be a problem is if you had two MR jobs with over 64 reduces tasks and you wanted to join the outputs with CompositeInputFormat - this will probably cause unexpected results in the current scheme. > At the very least, the 64-value limit should be documented in TupleWritable. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.