If an event fires during an LDB transaction, an unrelated operation can occur during the transaction, and if the transaction were to be cancelled, there would be a silent rollback (despite the client having been indicated success). Additionally, other processes could be called via IRPC that need to operate on the database but are locked out due to the ongoing transaction.
This patch avoids that by creating a private event loop during transactions, so no unexpected operations fire.
This is fixed with commit bdd363a92d136b0c0dbb86d1bf77f7bc48a6b206 in v4-1-test
and as 401f555c28aee861385b75c371b5f44cded1d391 in master.