• Sergei Golubchik's avatar
    MDEV-29368 Assertion `trx->mysql_thd == thd' failed in innobase_kill_query... · de130323
    Sergei Golubchik authored
    MDEV-29368 Assertion `trx->mysql_thd == thd' failed in innobase_kill_query from process_timers/timer_handler and use-after-poison in innobase_kill_query
    
    This is a 10.5 version of 9b750dcb, fix for
    MDEV-23536 Race condition between KILL and transaction commit
    
    InnoDB needs to remove trx from thd before destroying it (trx), otherwise
    a concurrent KILL might get a pointer from thd to a destroyed trx.
    
    ha_close_connection() should allow engines to clear ha_data in
    hton->on close_connection(). To prevent the engine from being unloaded
    while hton->close_connection() is running, we remove the lock from
    ha_data and unlock the plugin manually.
    de130323
sql_parse.cc 333 KB