• Sven Sandberg's avatar
    BUG#12574820: binlog.binlog_tmp_table timing out in daily and weekly trunk run · b76c277a
    Sven Sandberg authored
    Problem: MYSQL_BIN_LOG::reset_logs acquires mutexes in wrong order.
    The correct order is first LOCK_thread_count and then LOCK_log. This function
    does it the other way around. This leads to deadlock when run in parallel
    with a thread that takes the two locks in correct order. For example, a thread
    that disconnects will take the locks in the correct order.
    Fix: change order of the locks in MYSQL_BIN_LOG::reset_logs:
    first LOCK_thread_count and then LOCK_log.
    b76c277a
mysqld.cc 326 KB