• kostja@bodhi.(none)'s avatar
    A fix for Bug#29431 killing an insert delayed thread causes crash · 1aae3006
    kostja@bodhi.(none) authored
    No test case, since the bug requires a stress case with 30 INSERT DELAYED
    threads and 1 killer thread to repeat. The patch is verified
    manually.
    Review fixes.
    
    The server that is running DELAYED inserts would deadlock itself
    or crash under high load if some of the delayed threads were KILLed
    in the meanwhile.
    
    The fix is to change internal lock acquisition order of delayed inserts
    subsystem and to ensure that
    Delayed_insert::table_list::db does not point to volatile memory in some 
    cases.
    For details, please see a comment for sql_insert.cc.
    1aae3006
sql_insert.cc 106 KB