• Thirunarayanan Balathandayuthapani's avatar
    MDEV-21329 InnoDB: Failing assertion:... · 8984d779
    Thirunarayanan Balathandayuthapani authored
    MDEV-21329 InnoDB: Failing assertion: lock->lock_word.load(std::memory_order_relaxed) == X_LOCK_DECR upon server shutdown
    
    Problem is that dropping of fts table and sync of fts table
    happens concurrently during fts optimize thread shutdown.
    fts_optimize_remove_table() is executed by a user thread that
    performs DDL, and that the fts_optimize_wq may be removed if
    fts_optimize_shutdown() has started executing.
    
    fts_optimize_remove_table() doesn't remove the table from the queue
    and it leads to above scenario. While removing the table from
    fts_optimize_wq, if the table can't be removed then wait till
    fts_optimize_thread shuts down.
    
    Reviewed-by: Marko Mäkelä
    8984d779
fts0opt.cc 76.3 KB