Github user StephanEwen commented on the issue:
https://github.com/apache/flink/pull/5120
Looks good to me. This is actually two fixes in one:
1. Avro should not be in `flink-dist`, because starting with
`org.apache.flink`, it would always be loaded *"parent first"*. That causes
problems because Avro classes exist multiple times, both in the parent and in
the child classloader, failing equality and 'instanceof' comparisons.
2. The Avro Utils were never using any code in the user code jar, only
code in the classpath.
This is good for now, but it shows that the reveres classloading has some
subtle implication as soon as flink dependencies occur both in the user code
jar and in `/lib`.
---