You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Raymie Stata (Commented) (JIRA)" <ji...@apache.org> on 2012/03/03 17:51:57 UTC
[jira] [Commented] (AVRO-1022) Error in validate name
[ 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