• Marko Mäkelä's avatar
    MDEV-16647 InnoDB fails to drop large temporary table on disconnect · f693170c
    Marko Mäkelä authored
    This regression was introduced in MDEV-16515.
    We would fail to drop a temporary table on client disconnect,
    because trx_is_interrupted() would hold. To add insult to
    injury, in MariaDB 10.1, InnoDB temporary tables are actually
    persistent, so the garbage temporary tables will never be dropped.
    
    row_drop_table_for_mysql(): If several iterations of
    buf_LRU_drop_page_hash_for_tablespace() are needed,
    do not interrupt dropping a temporary table even after
    the transaction was marked as killed.
    
    Server shutdown will still terminate the loop, and also DROP TABLE
    of persistent tables will keep checking if the execution was aborted.
    f693170c
row0mysql.cc 154 KB