• Sergey Vojtovich's avatar
    BUG#43171 - Assertion failed: thd->transaction.xid_state.xid.is_null() · 17ed7089
    Sergey Vojtovich authored
    XA START may cause assertion failure/server crash when it is called
    after unilateral roll back issued by the Resource Manager (both
    in regular transaction and after XA transaction).
    
    The problem was that rm_error variable wasn't set/reset properly.
    
    mysql-test/r/xa.result:
      A test case for BUG#43171.
    mysql-test/t/xa.test:
      A test case for BUG#43171.
    sql/handler.cc:
      Setting rm_error when we're out of XA transaction has no
      special meaning. But it blocks reset of thd->transaction.xid
      structure later.
    sql/sql_parse.cc:
      Reset rm_error before we enter ha_rollback(), so
      thd->transaction.xid strucure is reinitialized.
    17ed7089
handler.cc 141 KB