On 9/13/10 8:31 AM, Jon Olav Hauglid wrote:
> #At file:///export/home/x/mysql-5.5-runtime-bug56448/ based on
> 3136 Jon Olav Hauglid 2010-09-13
> Bug #56448 Assertion failed: ! is_set() with second xa end
> The problem was that issuing XA END when the XA transaction was
> already ended, caused an assertion. This assertion tests that
> the server does not try to send OK to the client if there has
> already been an error reported. The bug was only noticeable on
> debug versions of the server.
> The reason for the problem was that the trans_xa_end() function
> reported success if the transaction was at XA_IDLE state at the
> end regardless of any errors occured during processing of
> trans_xa_end(). So if the transaction state was XA_IDLE already,
> reported errors would be ignored.
> This patch fixes the problem by having trans_xa_end() take into
> consideration any reported errors. The patch also fixes a similar
> bug with XA PREPARE.
OK to push. Thanks.