Rolling back to a savepoint doesn't release it so, reusing the same name in nested transaction means inner transactions only roll back to the most transaction/last savepoint. If the outer most transaction commits but did multiple consecutive rollbacks in the nested transactions this did cause an unexpected state in the database before the fix.