[
https://issues.apache.org/jira/browse/GORA-88?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ferdy Galema updated GORA-88:
-----------------------------
Attachment: GORA-88-v2.patch
Finished patch. It tests HBaseByteInterface by directly calling the
encode/decode methods using various schemas, both single and multithreaded.
(The HBaseByteInterface implementation prior to this patch fails on the
multithreaded test, as expected. It throws indexoutofbounds and class casting
exceptions).
> HBaseByteInterface not thread safe
> ----------------------------------
>
> Key: GORA-88
> URL: https://issues.apache.org/jira/browse/GORA-88
> Project: Apache Gora
> Issue Type: Bug
> Components: storage-hbase
> Affects Versions: 0.2
> Reporter: Ferdy Galema
> Fix For: 0.2
>
> Attachments: GORA-88-v2.patch, GORA-88.patch
>
>
> The recent attempt to make HBaseStore thread safe overlooked the utility
> class HBaseByteInterface. This class currently uses a single
> SpecificDatumReader and SpecificDatumWriter for the serialization of embedded
> records (schemas) within the schema. These reader and writer classes are not
> thread safe when used with a single schema (at least not yet with the current
> Avro library in use), much less when using multiple schema's (i.e.
> writer.setSchema(schema)).
> I will attach a patch that makes proper (re)use of these writer and reader
> classes, as well as the closely related decoders and encoders. Some
> workarounds are provided that would be unnecessary with newer versions of
> Avro, but these can be removed whenever we update this library.
> This class does not break compatibilty; the end result data in HBase is
> unchanged.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira