• Marko Mäkelä's avatar
    MDEV-22102 Assertion w==OPT failed in trx_undo_header_create() · a1077ab2
    Marko Mäkelä authored
    Because InnoDB is not freeing undo pages to the normal
    free-page management, old undo log pages can be reused. Due to that,
    it is possible (but unlikely) that the fields TRX_UNDO_NEEDS_PURGE
    and TRX_UNDO_LOG_START relative to the free offset that is stored at
    TRX_UNDO_PAGE_HDR + TRX_UNDO_PAGE_START already have the correct value.
    Hence, we must pass the mtr_t::OPT template parameter to silence the
    debug assertion.
    
    Other writes in trx_undo_header_create() that are using the default
    template parameter seem to be correct (the data fields should be
    guaranteed to change even in the event of reusing pages).
    a1077ab2
trx0undo.cc 44.9 KB