<sub>Answer originally left in comments by the question author</sub> Finally I discovered mdb addressed this bug in 10.2.13 but it remains in 10.2.14. In summary have gotten around the problem by turning `INNODB_ADAPTIVE_HASH_INDEX = ON` and have not had a problem since Monday AM. See https://jira.mariadb.org/browse/MDEV-14441 for the supposed 10.2.13 fix. Evidently MDB was bypassing releasing the latches associated with the semaphores when deadlocks occurred, when `INNODB_ADAPTIVE_HASH_INDEX = OFF` The mdb 10.2.13 fix explains mdb hanging during deadlocks in 10.2.13. The root cause of this bug is that in the function `btr_cur_update_in_place()` we are skipping this call if the adaptive hash index was disabled during the execution: if (block->index) { btr_search_x_unlock(index); When debugging the code, I mistook the leaked X lock for a leaked S lock. I did not find any other rw-lock leaks during the MDEV-14952 review/refactoring effort. The lock leak was introduced by me in MDEV-12121.