Bug #75809 | Error propagation does fully work in XA | ||
---|---|---|---|
Submitted: | 6 Feb 2015 15:52 | Modified: | 7 Oct 2015 17:16 |
Reporter: | Andrei Elkin | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Storage Engine API | Severity: | S3 (Non-critical) |
Version: | 5.7.6 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[6 Feb 2015 15:52]
Andrei Elkin
[13 Feb 2015 18:51]
Andrei Elkin
Consider this patch to simulate the described scenario: --- a/sql/transaction.cc +++ b/sql/transaction.cc @@ -446,8 +446,14 @@ bool trans_rollback_stmt(THD *thd) tc_log->rollback(thd, false); /* In autocommit=1 mode the transaction should be marked as complete in P_S */ +#ifndef DBUG_OFF + bool error_simul= false; + DBUG_EXECUTE_IF("simulate_xa_commit_log_failure", { error_simul= true; }); +#endif
[7 Oct 2015 17:16]
Paul DuBois
Noted in 5.8.0 changelog. For some instances of failure to prepare an XA transaction, incomplete transaction cleanup could raise an assertion.