Description
I experience a dead lock when running multiple DataFileReader in concurrent threads.
See test case here:
https://github.com/slandelle/avro-test
AvroBinaryEncodingTest randomly stalls about 50% of the time.
A thread dump would show a dead lock in org.apache.avro.io.parsing.Symbol class initialization.
IHMO, the problem is that the Symbol class has static final members that are instances of Symbol subclasses.
I built a custom version of avro where all the constants (NULL, BOOLEAN, INT, etc) have been extracted into a dedicated class outside of Symbol hierarchy and the test case now runs fine.
Cheers,
Stéphane Landelle