MDEV-22102 Assertion w==OPT failed in trx_undo_header_create()
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).
Showing
Please register or sign in to comment