Does the `mark_as_failed` update run in its own transaction and thus doesn't get rolled back?