[
https://issues.apache.org/jira/browse/BEAM-12628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17415152#comment-17415152
]
Claire McGinty commented on BEAM-12628:
---------------------------------------
[~udim] there shouldn't be. I've been thinking it over wondering if the default
value of the `useReflectApi` flag should be updated to `true`
(https://github.com/apache/beam/commit/e5c25a052b598f0888b919015c527f90c0c028d0#diff-e875a9933286d97dd3d3d21a61e6f11c0e35624e97411c1b98f1ac672c21045dR131)
-- i.e., whether the default behavior should be the pre-2.30 behavior, or not.
Not sure who the right people are for this discussion though! ([~rskraba]
maybe?)
> 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)