Thread is here for full details:
https://github.com/apache/nifi/pull/5900#pullrequestreview-922490039

It looks like Avro 1.8's schema parser may have been more lenient (or
buggy) in enforcing the specification with respect to the ordering of
a union for a nullable type. 1.9.X and higher are definitely more
opinionated and throw exceptions on schemas that used to work on
1.8.X. For example, this used to be valid:

{
  "name": "message",
  "type": [ "null", "string" ],
  "default": "Hello, world"
}

Now Avro **correctly** throws an exception per the specification.
Under 1.8 it did not, and as you can see here, I had to change
numerous test schemas in order to make them work under 1.9 to 1.11.0:

https://github.com/apache/nifi/pull/5900/files#r835954170

As I said to Matt, I think we're in a "damned if you do, damned if you
don't" position here.

Thoughts?

Reply via email to