You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Ryan Skraba (Jira)" <ji...@apache.org> on 2021/12/04 13:39:00 UTC

[jira] [Updated] (AVRO-3217) Avro IDL does not allow creation of avro.java.string subtype

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

Ryan Skraba updated AVRO-3217:
------------------------------
    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

Cherry-picked into [branch-1.11|https://github.com/apache/avro/commit/757bfd566367ec6077bef5595105103ca9bb01c6]

Thanks for this fix!

> Avro IDL does not allow creation of avro.java.string subtype
> ------------------------------------------------------------
>
>                 Key: AVRO-3217
>                 URL: https://issues.apache.org/jira/browse/AVRO-3217
>             Project: Apache Avro
>          Issue Type: Bug
>          Components: java, tools
>    Affects Versions: 1.10.2
>         Environment: Java 8, Windows, macOS, Confluent Platform 5.5.1
>            Reporter: Timothy Dimo
>            Assignee: Oscar Westra van Holthe - Kind
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.11.1
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
>  
> When using a Java application that has class files generated from an avsc file via the Avro Maven plugin along with the 
> {noformat}
> <stringType>String</stringType>{noformat}
> switch set, serialization of records of the type string such as
>  
> {code:java}
> {"name":"eventType","type":"string"}{code}
> will fail. Changing the type to include an "avro.java.string" detail such as
>  
> {code:java}
> "name": "eventType",
>             "type": {
>               "avro.java.string": "String",
>               "type": "string"
>             }
> {code}
> will succeed.
>  
> It is not possible to create this "avro.java.string": "String" detail via the Avro IDL language. The schema creator must first create the avsc file then manually update all of the "type":"string" fields.
> See also [this link|https://stackoverflow.com/questions/69303642/why-does-an-avro-field-that-was-string-now-require-avro-java-string-type].
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)