Skip to content
  • Satya Bodapati's avatar
    6e94cc9c
    Bug#21451922 - FOUND A MISMATCH PAGE, EXPECT PAGE - ASSERTION · 6e94cc9c
    Satya Bodapati authored
    
    
    Problem:
    -------
    During truncate, we intentionally crash (DBUG_SUICIDE()) after updating
    SYS_INDEXES. In recovery, we skip all redo on the tablespace that was
    truncated. All the LSNs > MLOG_TRUNCATE LSN are also skipped if the
    tablespace is marked for truncate. Because of this, tablespace pages
    are inconsistent state (depends on flush order).
    
    Since we crashed when inserting into SYS_INDEXES, this transaction has to be
    rolledback. After finishing recovery, we try to rollback the DD
    transaction. When undoing the changes to SYS_INDEXES, we drop the index
    of a tablespace first and undo the modification on SYS_INDEXES table.
    
    The drop of index on the truncated tablespace causes assert because the
    tablespace is in inconsistent state (the truncate fixup is yet to be done).
    
    Fix:
    ----
    During rollback, do not try to drop the index of tablespace if it is
    marked for truncate. The tablespace will be fixed by the truncate fixup
    action.
    
    Also fixed the wl#6501 testcases to use .inc files
    
    Reviewed-by: default avatarKrunal Bauskar <krunal.bauskar@oracle.com>
    RB: 9961
    6e94cc9c
    Bug#21451922 - FOUND A MISMATCH PAGE, EXPECT PAGE - ASSERTION
    Satya Bodapati authored
    
    
    Problem:
    -------
    During truncate, we intentionally crash (DBUG_SUICIDE()) after updating
    SYS_INDEXES. In recovery, we skip all redo on the tablespace that was
    truncated. All the LSNs > MLOG_TRUNCATE LSN are also skipped if the
    tablespace is marked for truncate. Because of this, tablespace pages
    are inconsistent state (depends on flush order).
    
    Since we crashed when inserting into SYS_INDEXES, this transaction has to be
    rolledback. After finishing recovery, we try to rollback the DD
    transaction. When undoing the changes to SYS_INDEXES, we drop the index
    of a tablespace first and undo the modification on SYS_INDEXES table.
    
    The drop of index on the truncated tablespace causes assert because the
    tablespace is in inconsistent state (the truncate fixup is yet to be done).
    
    Fix:
    ----
    During rollback, do not try to drop the index of tablespace if it is
    marked for truncate. The tablespace will be fixed by the truncate fixup
    action.
    
    Also fixed the wl#6501 testcases to use .inc files
    
    Reviewed-by: default avatarKrunal Bauskar <krunal.bauskar@oracle.com>
    RB: 9961
Loading