• Marko Mäkelä's avatar
    Revert MDEV-23484 Rollback unnecessarily acquires dict_operation_lock · 0049d5b5
    Marko Mäkelä authored
    In row_undo_ins_remove_clust_rec() and similar places,
    an assertion !node->trx->dict_operation_lock_mode could fail,
    because an online ALTER is not allowed to run at the same time
    while DDL operations on the table are being rolled back.
    
    This race condition would be fixed by always acquiring an InnoDB
    table lock in ha_innobase::prepare_inplace_alter_table() or
    prepare_inplace_alter_table_dict(), or by ensuring that recovered
    transactions are protected by MDL that would block concurrent DDL
    until the rollback has been completed.
    
    This reverts commit 15093639
    and commit 22c4a751.
    0049d5b5
row0undo.cc 11.7 KB