A Record That Must Survive a Rollback: Why We Split the Transaction with REQUIRES_NEW
Our audit log had to record failed attempts too, and atomicity erases exactly those records on rollback. A tour of the finished audit setup, from three capture points to a REQUIRES_NEW transaction that survives the rollback, plus the three costs that come with it.