• Kristian Nielsen's avatar
    MDEV-31482: Lock wait timeout with INSERT-SELECT, autoinc, and statement-based replication · 920789e9
    Kristian Nielsen authored
    Remove the exception that InnoDB does not report auto-increment locks waits
    to the parallel replication.
    
    There was an assumption that these waits could not cause conflicts with
    in-order parallel replication and thus need not be reported. However, this
    assumption is wrong and it is possible to get conflicts that lead to hangs
    for the duration of --innodb-lock-wait-timeout. This can be seen with three
    transactions:
    
    1. T1 is waiting for T3 on an autoinc lock
    2. T2 is waiting for T1 to commit
    3. T3 is waiting on a normal row lock held by T2
    
    Here, T3 needs to be deadlock killed on the wait by T1.
    
    Note: This should be null-merged to 10.6, as a different fix is needed
    there due to InnoDB lock code changes.
    Signed-off-by: default avatarKristian Nielsen <knielsen@knielsen-hq.org>
    920789e9
sql_class.cc 239 KB