[ 
https://issues.apache.org/jira/browse/HADOOP-6512?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Douglas resolved HADOOP-6512.
-----------------------------------

    Resolution: Invalid

I agree with Todd; the caller is responsible for thread safety.

> Complex Writable classes are not thread safe
> --------------------------------------------
>
>                 Key: HADOOP-6512
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6512
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: io
>    Affects Versions: 0.20.1
>         Environment: hadoop 20.1, java 1.6.0_17, fedora
>            Reporter: robert Cook
>
> While SequenceFile methods are properly "synchronized", the complex Writable 
> classes are not thread safe.
> e.g. ArrayWritable, interleaved in... calls by different threads will 
> scramble input
>   public void readFields(DataInput in) throws IOException {
>     values = new Writable[in.readInt()];          // construct values
>     for (int i = 0; i < values.length; i++) {
>       Writable value = WritableFactories.newInstance(valueClass);
>       value.readFields(in);                       // read a value
>       values[i] = value;                          // store it in values
>     }
>   }
> Please add synchronized prefixes.  Not needed for simple types.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to