• Marko Mäkelä's avatar
    MDEV-16664: Add deprecation warning for innodb_lock_schedule_algorithm=VATS · 295e2d50
    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 deprecate the
    option and issue a warning that using it may corrupt data. The unsafe
    option was enabled between
    commit 0c15d1a6 (MariaDB 10.2.3)
    and the parent of
    commit 1cc1d042 (MariaDB 10.2.17, 10.3.9).
    295e2d50
ha_innodb.cc 641 KB