• Marko Mäkelä's avatar
    MDEV-26782 InnoDB temporary tablespace: reclaiming of free space does not work · 51e62cb3
    Marko Mäkelä authored
    The motivation of this change is to allow undo pages for temporary tables
    to be marked free as often as possible, so that we can avoid buf_pool.LRU
    eviction (and writes) of undo pages that contain data that is
    no longer needed. For temporary tables, no MVCC or purge of history
    is needed, and reusing cached undo log pages might not help that much.
    
    It is possible that this may cause some performance regression due to
    more frequent allocation and freeing of undo log pages, but I only
    measured a performance improvement.
    
    trx_write_serialisation_history(): Never cache temporary undo log pages.
    
    trx_undo_reuse_cached(): Assert that the rollback segment is persistent.
    
    trx_undo_assign_low(): Add template<bool is_temp>. Never invoke
    trx_undo_reuse_cached() for temporary tables.
    
    Tested by: Matthias Leich
    51e62cb3
trx0trx.cc 58.3 KB