• Marko Mäkelä's avatar
    MDEV-18966 Transaction recovery may be broken after upgrade to 10.3 · cdb2208c
    Marko Mäkelä authored
    This bug was introduced by MDEV-12288, which made InnoDB use
    a single undo log for persistent transactions, instead of
    maintaining separate insert_undo and update_undo logs.
    
    trx_undo_reuse_cached(): Initialize the TRX_UNDO_PAGE_TYPE
    after reusing a cached undo log page for undo log.
    Failure to do so can cause trx_undo_mem_create_at_db_start()
    to misclassify new undo log records as TRX_UNDO_INSERT.
    This in turn would trigger an assertion failure in
    trx_roll_pop_top_rec_of_trx() due to undo==insert.
    cdb2208c
trx0undo.cc 46.5 KB