Make MailDataManager more lenient about when abort may be called #35
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The checks that
MailDataManager.abort
and.tcp_abort
perform regarding when in the transaction life-cycle they may be called are too strict. They raise exceptions during certain scenarios involving failed commits. When that happens those exceptions replace/mask the underlying exception responsible for the commit failure, which make troubleshooting difficult.This fixes that.
Additionally, the last commit in this series (7225040), moves the sending of email from
tcp_finish
totcp_vote
. Justifications for this:tpc_finish
“should never fail”.tcp_finish
does raise an exception, transaction logs a critical error, preceded by the comment “do we need to make this warning stronger?”.Edited to fix the link to "the last commit in this series". (2015-06-30)