[ https://issues.apache.org/jira/browse/BEAM-12628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anonymous updated BEAM-12628: ----------------------------- Status: Triage Needed (was: Resolved) > 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: 6h 20m > 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.20.10#820010)