• Marko Mäkelä's avatar
    Part 1 of MDEV-8139 Fix scrubbing tests · 0f8e17af
    Marko Mäkelä authored
    Port a bug fix from MySQL 5.7, so that all undo log pages will be freed
    during a slow shutdown. We cannot scrub pages that are left allocated.
    
    commit 173e171c6fb55f064eea278c76fbb28e2b1c757b
    Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
    Date:   Fri Sep 9 18:01:27 2016 +0530
    
        Bug #24450908   UNDO LOG EXISTS AFTER SLOW SHUTDOWN
    
        Problem:
        ========
    
        1) cached undo segment is not removed from rollback segment history
        (RSEG_HISTORY) during slow shutdown. In other words, If the segment is
        not completely free, we are failing to remove an entry from the history
        list. While starting the server, we traverse all rollback segment slots
        history list and make it as list of undo logs to be purged in purge
        queue.
        In that case, purge queue will never be empty after slow shutdown.
    
        2) Freeing of undo log segment is linked with removing undo log header
        from history.
    
        Fix:
        ====
        1) Have separate logic of removing the undo log header from
        history list from rollback segment slots and remove it from
        rollback segment history even though it is not completely free.
    Reviewed-by: default avatarDebarun Banerjee <debarun.banerjee@oracle.com>
    Reviewed-by: default avatarMarko Mäkelä <marko.makela@oracle.com>
        RB:13672
    0f8e17af
fut0lst.h 6.17 KB