Answer originally left in comments by the question author
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.