• Kristian Nielsen's avatar
    MDEV-5262, MDEV-5914, MDEV-5941, MDEV-6020: Deadlocks during parallel... · 98fc5b3a
    Kristian Nielsen authored
    MDEV-5262, MDEV-5914, MDEV-5941, MDEV-6020: Deadlocks during parallel replication causing replication to fail.
    
    After-review changes.
    
    For this patch in 10.0, we do not introduce a new public storage engine API,
    we just fix the InnoDB/XtraDB issues. In 10.1, we will make a better public
    API that can be used for all storage engines (MDEV-6429).
    
    Eliminate the background thread that did deadlock kills asynchroneously.
    Instead, we ensure that the InnoDB/XtraDB code can handle doing the kill from
    inside the deadlock detection code (when thd_report_wait_for() needs to kill a
    later thread to resolve a deadlock).
    
    (We preserve the part of the original patch that introduces dedicated mutex
    and condition for the slave init thread, to remove the abuse of
    LOCK_thread_count for start/stop synchronisation of the slave init thread).
    
    98fc5b3a
log.cc 286 KB