[ https://issues.apache.org/jira/browse/BEAM-12628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17420021#comment-17420021 ]
Udi Meiri edited comment on BEAM-12628 at 9/24/21, 11:24 PM: ------------------------------------------------------------- I mentioned this in https://github.com/apache/beam/pull/15543/files. I will mark this issue as resolved (it's not a 2.33.0 release blocker). Feel free to reopen. was (Author: udim): I mentioned this in https://github.com/apache/beam/pull/15543/files. I will mark this issue as resolved (specifically, not a 2.33.0 release blocker). Feel free to reopen. > AvroCoder changed underlying String class for SpecificRecords > ------------------------------------------------------------- > > Key: BEAM-12628 > URL: https://issues.apache.org/jira/browse/BEAM-12628 > Project: Beam > Issue Type: Bug > Components: io-java-avro > Affects Versions: 2.30.0 > Reporter: Ryan Skraba > Assignee: Claire McGinty > Priority: P1 > Fix For: 2.33.0 > > Time Spent: 3h > Remaining Estimate: 0h > > The AvroCoder changes for BEAM-2303 changes the reader/writer from the Avro > {{ReflectDatum*}} classes to the {{SpecificDatum*}} classes. > Because of the way Avro handles Strings, however, the underlying instances > for String data are deserialised as {{org.apache.avro.util.Utf8}} instances > instead of {{java.lang.String}}. > This causes: > 1. an unexpected behaviour change when migrating to Beam 2.30.0 > 2. potential serialization issues when using these String instances (Utf8 > instances don't implement Serializable) > 3. an inconsistent API between {{AvroCoder}} and {{AvroSink}}/{{AvroSource}} > (the latter still use {{ReflectDatum*}}) > (Original report on the [mailing > list|https://lists.apache.org/x/thread.html/r5d0b975926cc4761f025ecd8df58a31e3f99e522296cc47d82ed5943@%3Cdev.beam.apache.org%3E] > and [PR|https://github.com/apache/beam/pull/14410#issuecomment-880838488]) -- This message was sent by Atlassian Jira (v8.3.4#803005)