You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Kyle Weaver (Jira)" <ji...@apache.org> on 2021/10/06 22:00:00 UTC

[jira] [Updated] (BEAM-12628) AvroCoder changed underlying String class for SpecificRecords

     [ https://issues.apache.org/jira/browse/BEAM-12628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kyle Weaver updated BEAM-12628:
-------------------------------
    Fix Version/s:     (was: 2.34.0)
                   2.33.0
       Resolution: Fixed
           Status: Resolved  (was: Open)

> 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, 2.33.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.3.4#803005)