Hello! Here's a couple of related JIRA from the past that we can use to inform our discussion:
* AVRO-2659 demonstrates a pretty disastrous schema name that the Java SDK accepts. * AVRO-1022 (10 years ago!) has a somewhat tepid discussion about accepting UTF-8 that didn't quite get enough follow-up to make it into the spec! We're been in the current (unsatisfactory) state for so long because: * making a change to an SDK changing its behaviour (even to "fix it") will make users unhappy about backwards/forwards version compatibility, and * allowing two language SDKs to implement the spec differently will make users unhappy about cross-platform, cross-language compatibility. In my opinion, with modern streaming and event processing, we have to take the latter into account! There were a couple of other options than the two you propose in the original discussion thread (such as putting human-readable or internationalised names in other metadata properties, or using configuration / environment / system properties to turn rigorous spec validation on and off). Have you given them any consideration for your use case? My preference would be to *tighten* the SDKs to match the existing Avro spec, and provide language-specific ways to easily disable validating names if desired. There's some precedence for this in the Schema.Parser#validate method. There's a bit more going on here that's worth doing right for the future! All my best, Ryan On Thu, Nov 10, 2022 at 4:53 PM Oscar Westra van Holthe - Kind <[email protected]> wrote: > > On Thu, 10 Nov 2022 at 08:55, Christophe Le Saëc <[email protected]> wrote: > > > So, discussion is to choose between > > > > 1. "change the documentation" (and adapt module as proposed in this PR > > for RUST <https://github.com/apache/avro/pull/1787> and this other for > > C > > <https://github.com/apache/avro/pull/1798>) > > 2. change the code (in Java and C# at least) to be conformed to > > documentation. > > > > For compatibility, I like option 1. If we're to change naming rules, I'd > vote for logging warnings before tightening the rules. > > Kind regards, > Oscar > > -- > > ✉️ Oscar Westra van Holthe - Kind <[email protected]>
