[ 
https://issues.apache.org/jira/browse/AVRO-1022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13221634#comment-13221634
 ] 

Raymie Stata commented on AVRO-1022:
------------------------------------

Based on the dialog above, I propose that we turn this into a set of 
recommendations for Avro implementers and app developers.  I've attached a 
draft of these recommendations, if folks like them, I can turn them into a 
patch for the spec.

The basic idea is as follows.  We cast this as an "interoperability" problem.  
On the one hand, the current spec for names facilitates language 
interoperability, and we shouldn't change it.  On the other hand, we should 
apply the Robustness principle: accept liberally, generate strictly.  (Looking 
closely at Scott's and Doug's comments, I think this is what they're really 
getting at.)

In our context, Avro implementations accept schemas, Avro app developers 
generate them.  Thus, we recommend that Avro implementations, by default, 
accept schemas liberally.  This means accepting arbitrary Unicode strings for 
names (but with no normalization or other Unicode processing).  At the same 
time, Avro developers for who want language interoperability are exhorted to 
"generate strictly," and in particular, use only names that follow the strict 
definition in the Avro spec, because those names are easily handled by almost 
any language out there.

To help developers "generate strictly," we recommend that Avro implementations 
provide optional mechanisms to perform schema validation, preferably as early 
in the dev process as possible (eg, unit-test or even compile time).  (For 
developers who don't care about language interop, they can ignore these 
mechanisms, and Avro implementations, being liberal by default, should happily 
consume their input.)

The file I just posted says the above in a little more detail.
                
> Error in validate name
> ----------------------
>
>                 Key: AVRO-1022
>                 URL: https://issues.apache.org/jira/browse/AVRO-1022
>             Project: Avro
>          Issue Type: Bug
>          Components: java
>            Reporter: Raymie Stata
>            Priority: Minor
>         Attachments: AVRO-1022.patch, AVRO-1022.patch, 
> unicode-recommendation.html
>
>
> Fix schema.validateName to allow only ASCII letters, not Unicode letters.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to