• Thirunarayanan Balathandayuthapani's avatar
    MDEV-34542 Assertion `lock_trx_has_sys_table_locks(trx) == __null' failed in... · 00d2c7f7
    Thirunarayanan Balathandayuthapani authored
    MDEV-34542  Assertion `lock_trx_has_sys_table_locks(trx) == __null' failed in void row_mysql_unfreeze_data_dictionary(trx_t*)
    
    - During XA PREPARE, InnoDB releases the non-exclusive locks.
    But it fails to remove the non-exclusive table lock from the
    transaction table locks. In the mean time, main thread evicts
    the table from the LRU cache. While rollbacking the XA transaction,
    InnoDB iterates through the table locks to check whether it
    holds lock on any system tables and wrongly assumes the
    evicted table as system table since the table id is 0
    
    Fix:
    ===
    During XA PREPARE, remove the table locks of the transaction while
    releasing the non-exclusive locks.
    00d2c7f7
lock_release.test 875 Bytes