• Sergei Golubchik's avatar
    MDEV-26755 innodb.undo_truncate: ilink::assert_linked(): Assertion `prev != 0 && next != 0' failed · a96b4282
    Sergei Golubchik authored
    close_connections() in mysqld.cc sends a signal to all threads.
    But InnoDB is too busy purging, doesn't react immediately.
    close_connections() waits 20 seconds, which isn't enough in this
    particular case, and then unlinks all threads from
    the list and forcibly closes their vio connection.
    
    InnoDB background  threads have no vio connection to close, but
    they're unlinked all the same. So when later they finally notice
    the shutdown request and try to unlink themselves, they fail to
    assert that they're still linked.
    
    Fix: don't assert_linked, as another thread can unlink this THD anytime
    a96b4282
sql_class.h 192 KB