• Kristian Nielsen's avatar
    MDEV-29974: Missed kill waiting for worker queues to drain · 34e85854
    Kristian Nielsen authored
    When the SQL driver thread goes to wait for room in the parallel slave
    worker queue, there was a race where a kill at the right moment could
    be ignored and the wait proceed uninterrupted by the kill.
    
    Fix by moving the THD::check_killed() to occur _after_ doing ENTER_COND().
    
    This bug was seen as sporadic failure of the testcase rpl.rpl_parallel
    (rpl.rpl_parallel_gco_wait_kill since 10.5), with "Slave stopped with
    wrong error code".
    Signed-off-by: default avatarKristian Nielsen <knielsen@knielsen-hq.org>
    34e85854
rpl_parallel.cc 96.1 KB