You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Owen O'Malley (JIRA)" <ji...@apache.org> on 2006/04/05 07:06:08 UTC

[jira] Commented: (HADOOP-120) Reading an ArrayWriter does not work because valueClass does not get initialized

    [ http://issues.apache.org/jira/browse/HADOOP-120?page=comments#action_12373224 ] 

Owen O'Malley commented on HADOOP-120:
--------------------------------------

After thinking about it for a bit, the problem with this patch is that this is going to encode the typename in each and every record. So if your value type is ArrayWriter<UTF8>, you are going to spend an extra 2+strlen("org.apache.hadoop.io.UTF8") bytes per a record. That's a fair amount of overhead.

We also have to be a careful with the serialization of ArrayWritable because it is used in the DFS name node logs.

I'm not sure what the right solution is. Probably for right now, I would derive a subclass of ArrayWritable that is specific for your type. It isn't pretty, but it is guaranteed to be safe.

public class UTF8Array extends ArrayWritable {
  public UTF8Array() {
     super(UTF8.class);
  }
}

> Reading an ArrayWriter does not work because valueClass does not get initialized
> --------------------------------------------------------------------------------
>
>          Key: HADOOP-120
>          URL: http://issues.apache.org/jira/browse/HADOOP-120
>      Project: Hadoop
>         Type: Bug

>   Components: io
>  Environment: Red Hat  
>     Reporter: Dick King
>  Attachments: hadoop-120-fix.patch
>
> If you have a Reducer whose value type is an ArrayWriter it gets enstreamed alright but at reconstruction type when ArrayWriter::readFields(DataInput in) runs on a DataInput that has a nonempty ArrayWriter , newInstance fails trying to instantiate the null class.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira