DirTaxoWriter.addTaxonomies may lead to a corrupt taxonomy index if addCategory is called in parallel. While reviewing the code, the following changes seemed to be required:
- Fix the bug
- Simplify addTaxonomies code – it's very complicated, seems rather inefficient, and seems to take care of more than is needed.
- The intention to support multiple taxonomies is unclear, especially since FacetsPayloadProcessor can handle only one Directory and one OrdinalMap at a time. So I'd like to change the method to addTaxonomy. I anyway don't see the reason to add multiple taxonomies at once, one can call addTaxonomy several times.
I will post a patch soon.