[
https://issues.apache.org/jira/browse/AVRO-803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13105358#comment-13105358
]
George Fletcher commented on AVRO-803:
--------------------------------------
We've run into this as well and for now, I wrote my own velocity template that
makes the data elements private and generates getters/setters (similar to
what's in 1.6.0). In these getters/setters I convert the CharSequence to a
String and then do copies for arrays and maps to convert the Utf8 type to a
String. This is an ugly work around and has a big performance impact. Are there
any plans to fix this in 1.6.0?
> Java generated Avro classes make using Avro painful and surprising
> ------------------------------------------------------------------
>
> Key: AVRO-803
> URL: https://issues.apache.org/jira/browse/AVRO-803
> Project: Avro
> Issue Type: Improvement
> Components: java
> Affects Versions: 1.5.0
> Environment: Any
> Reporter: Sam Pullara
> Fix For: 1.6.0
>
>
> Currently the Avro generated Java classes expose CharSequence in their API.
> However, you cannot use any old CharSequence when interacting with them. In
> fact, you have to use the Utf8 class if you want to get consistent results. I
> think that Avro should work with any CharSequence if that is the API. Here is
> an example where this happens:
> https://github.com/spullara/avro-generated-code/blob/master/src/test/java/AnnoyingTest.java
> That prints out 'false' three times unexpectedly. If you can't get it to
> print 'true' three times then you should probably change it back to Utf8.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira