• Marko Mäkelä's avatar
    Bug #13413535 61104: INNODB: FAILING ASSERTION: PAGE_GET_N_RECS(PAGE) > 1 · d84c9557
    Marko Mäkelä authored
    This fix does not remove the underlying cause of the assertion
    failure. It just works around the problem, allowing a corrupted
    secondary index to be fixed by DROP INDEX and CREATE INDEX (or in the
    worst case, by re-creating the table).
    
    ibuf_delete(): If the record to be purged is the last one in the page
    or it is not delete-marked, refuse to purge it. Instead, write an
    error message to the error log and let a debug assertion fail.
    
    ibuf_set_del_mark(): If the record to be delete-marked is not found,
    display some more information in the error log and let a debug
    assertion fail.
    
    row_undo_mod_del_unmark_sec_and_undo_update(),
    row_upd_sec_index_entry(): Let a debug assertion fail when the record
    to be delete-marked is not found.
    
    buf_page_print(): Add ut_ad(0) so that corruption will be more
    prominent in stress testing with debug binaries. Add ut_ad(0) here and
    there where corruption is noticed.
    
    btr_corruption_report(): Display some data on page_is_comp() mismatch.
    
    btr_assert_not_corrupted(): A wrapper around btr_corruption_report().
    Assert that page_is_comp() agrees with the table flags.
    
    rb:911 approved by Inaam Rana
    d84c9557
ibuf0ibuf.c 137 KB