• Marko Mäkelä's avatar
    MDEV-16664: Remove innodb_lock_schedule_algorithm · b4fb15cc
    Marko Mäkelä authored
    The setting innodb_lock_schedule_algorithm=VATS that was introduced
    in MDEV-11039 (commit 021212b5)
    causes conflicting exclusive locks to be incorrectly granted to
    two transactions. Specifically, in lock_rec_insert_by_trx_age()
    the predicate !lock_rec_has_to_wait_in_queue(in_lock) would hold even
    though an active transaction is already holding an exclusive lock.
    This was observed between two DELETE of the same clustered index record.
    The HASH_DELETE invocation in lock_rec_enqueue_waiting() may be related.
    
    Due to lack of progress in diagnosing the problem, we will remove the
    option. The unsafe option was enabled by default between
    commit 0c15d1a6 (MariaDB 10.2.3)
    and the parent of
    commit 1cc1d042 (MariaDB 10.2.17, 10.3.9),
    and it was deprecated in
    commit 295e2d50 (MariaDB 10.2.34).
    b4fb15cc
mysqld.cc 332 KB