Taxon tree manipulations lock database

Hi @fedoras,

I spoke to one of our developers and he put together a list of upcoming changes related to your inquiry:

There are two bottlenecks when creating new taxon nodes and performing tree mutations.

  1. The first is rebuilding the full names when changes are made.

    The first bottleneck has been addressed in #3175.

    We have observed that the full name fix currently provides sufficient speed-up. The fix will likely be released in the upcoming v7.9.1 release.

  2. The second bottleneck, which occurs because the entire tree is renumbered each time a change is made, has been partially resolved. You can find an early draft of this fix on the node_numbering_fix branch.

    We are not currently considering implementing this solution because we need to evaluate whether the performance enhancements from #3175 are sufficient for most scenarios.

  3. We have improved the speed of tree count queries by implementing recursive CTE queries in the code. This improvement is included in the pull request #3613. This fix will also be include in Specify 7.9.1.

    If Specify is still using MySQL 5.7 instead of MariaDB, the current query method will be used as CTE queries are unsupported in MySQL 5.7.

Thank you for reaching out to us and inquiring about our progress on these issues! We are optimistic that these upcoming updates will significantly improve tree performance in the next few months.

1 Like