BUG-8538: rework transaction abort paths