You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Doug Cutting (JIRA)" <ji...@apache.org> on 2018/02/22 19:27:00 UTC

[jira] [Resolved] (AVRO-2132) Avro IDL: Support dot ('.') character in property annotation names

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

Doug Cutting resolved AVRO-2132.
--------------------------------
       Resolution: Fixed
         Assignee: Doug Cutting
    Fix Version/s: 1.9.0

I committed this.

> Avro IDL: Support dot ('.') character in property annotation names
> ------------------------------------------------------------------
>
>                 Key: AVRO-2132
>                 URL: https://issues.apache.org/jira/browse/AVRO-2132
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.8.2
>            Reporter: Sean Policarpio
>            Assignee: Doug Cutting
>            Priority: Major
>             Fix For: 1.9.0
>
>
> Unless there is a strong reason why names like {{@foo.bar}} can't be used as property annotations in IDL, I propose an enhancement to the IDL parser to allow it.
> The major drive for this change comes from Kafka Connect; for a certain fields – namely timestamps – additional metadata must be present in the schema when certain consumers read the data (e.g. [the JDBC connector|https://github.com/confluentinc/kafka-connect-jdbc]). What I hoped when using IDL was to write the following for a record field:
> {code:java}
> union {null, @connect.version(1) @connect.name("org.apache.kafka.connect.data.Timestamp") long} queryTime;{code}
> so that the following would be available in the schemata:
> {code:java}
> {
>   "name": "queryTime",
>   "type": [
>     "null",
>     {
>       "type": "long",
>       "connect.version": 1,
>       "connect.name": "org.apache.kafka.connect.data.Timestamp"
>     }
>   ],
>   "default": null
> }{code}
> Unfortunately, both {{connect.version}} and {{connect.name}} are unacceptable by the parser.
> The change for this is quite minimal as it can be based on AVRO-1267.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)