[
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.