Make private SessionWithAsyncTransaction#hasTransactionFailed
Clarify error handling logic to close async transactions