[
https://issues.apache.org/jira/browse/AVRO-1199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13494156#comment-13494156
]
Doug Cutting commented on AVRO-1199:
------------------------------------
> Why not use the serialize and deserialize
Using the deepCopy() method is simpler and should be more efficient. It didn't
used to exist, so one had to serialize and deserialize in order to clone an
object.
> SortedKeyValueFile$Writer.append method have a puzzle for the sorted key
> ------------------------------------------------------------------------
>
> Key: AVRO-1199
> URL: https://issues.apache.org/jira/browse/AVRO-1199
> Project: Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.7.3
> Reporter: Libing Sun
> Labels: patch
>
> At the SortedKeyValueFile.java 539 lines like next:
> mPreviousKey = key;
> This class is same as Hadoop's MapFile, at the MapFile the same methon will
> keep a copy for this key, but not use "=".
> If use "=" at here, when user append a reuse key object to this file. will
> cause key sorted not valid.
> I think next code will fix it:
> private DataInputBuffer inBuf = new DataInputBuffer();
> private DataOutputBuffer outBuf = new DataOutputBuffer();
> GenericDatumWriter<K> writer = new ReflectDatumWriter<K>(schema);
> GenericDatumReader<K> reader = new ReflectDatumReader<K>(schema);
> writer.write(key, encoder);
> inBuf.reset(outBuf.getData(), outBuf.getLength());
> BinaryDecoder decoder = DecoderFactory.get().directBinaryDecoder(inBuf,
> null);
> lastKey = reader.read(null, decoder);
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira