You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Oscar Westra van Holthe - Kind (Jira)" <ji...@apache.org> on 2021/11/23 22:28:00 UTC
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=17448274#comment-17448274 ]
Oscar Westra van Holthe - Kind commented on AVRO-3217:
------------------------------------------------------
It should possible, though cumbersome, to add the property in IDL:
{code:java}
record Example {
@`avro.java.string`("String") string fieldName;
} {code}
This will fail however, because the "any identifier" syntax supported for e.g. protocol, schema and field names is not supported for property names.
PR #1414 fixes this.
> 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
> Priority: Major
> Labels: pull-request-available
> Time Spent: 10m
> 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)