Some extra symptoms that identify this condition are:
Error code 2080 or 2096 delivered to the client.
hadbm resourceinfo --locks shows locks allocated, and all are in use all the time
A transaction running on a node is not allowed to use more than 25% of the number of locks allocated on that node. Read transactions running at the “repeatable read” isolation level and the update/insert/delete transactions hold the locks until the transaction terminates. Therefore, it is recommended to split long transactions into small batch of separate transactions.
Use hadbm set NumberOfLocks= to increase the number of locks.