• Monty's avatar
    Fixed bug in Aria with aria_log files that are exactly 8K · ad5465bc
    Monty authored
    In the case one has an old Aria log file that ands with a Aria checkpoint
    and the server restarts after next recovery, just after created a
    new Aria log file (of 8K), the Aria recovery code would abort.
    If one would try to delete all Aria log files after this (but not the
    aria_control_file), the server would crash during recovery.
    
    The problem was that translog_get_last_page_addr() would regard a log file
    of exactly 8K as illegal and the rest of the code could not handle this
    case.
    
    Another issue was that if there was a crash directly after the log file
    head was written to the next page, the code in translog_get_next_chunk()
    would crash.
    
    This patch fixes most of the issues, but not all. For Sanja to look at!
    
    Things fixed:
    - Added code to ignore 8K log files.
    - Removed ASSERT in translog_get_next_chunk() that checks if page only
      contains the log page header.
    ad5465bc
aria_read_log.c 14.2 KB