• Michael Widenius's avatar
    Added --sync-sys=0 option for mysqld to skip sync() calls for faster testing · 12648015
    Michael Widenius authored
    Fixed LP#613418 (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed
    
    include/my_sys.h:
      Added my_disable_sync
    mysql-test/mysql-test-run.pl:
      Added --sync-sys=0 to run test suite faster
    mysys/my_static.c:
      Added my_disable_sync
    mysys/my_sync.c:
      Added my_disable_sync
    sql/mysqld.cc:
      Added -sync-sys=0 option for mysqld to skip sync() calls for faster testing
    storage/maria/ma_key_recover.c:
      More DBUG_ASSERT()
      Added logging of KEY_OP_DEBUG to make examening of logs easier
      Fixed testing of page length in recovery to ensure we don't overwrite checksum (previous tests was too relaxed)
      Fixed bug in recovery logging of split pages which caused failure during recovery:
      - Length was not adjusted properly for pages to be split
      - Added KEY_OP_MAX_PAGELENGTH to tell recovery that page is now full length
      - This fixed LP#613418
    storage/maria/ma_key_recover.h:
      Changed prototype for ma_log_change() for KEY_OP_DEBUG
    storage/maria/ma_loghandler.h:
      Added new enums for better debugging of recovery logs
    storage/maria/ma_rt_index.c:
      Added debugging information to calls to ma_log_change()
    storage/maria/ma_write.c:
      Added debugging information to calls to ma_log_change() and ma_log_split()
    12648015
ma_key_recover.h 4.64 KB