~percona-core/percona-server/5.6-pre-null-merge

Viewing all changes in revision 301.

  • Committer: Stewart Smith
  • Date: 2012-09-12 05:19:51 UTC
  • Revision ID: stewart@flamingspork.com-20120912051951-nb9mxkybij31mvtm
Extract fix for http://bugs.mysql.com/bug.php?id=44140 from innodb_recovery_patches.patch

Description from original bug report:
Description:
Sometimes (it is really rare), We meet the error message during crash recovery of InnoDB.

090405  4:29:47  InnoDB: ERROR: We were only able to scan the log up to 1319 813701532
InnoDB: but a database page a had an lsn 1319 814039859. It is possible that the
InnoDB: database is now corrupt!

I accept the message as,,
"There have been some logged modification to certain page before the last recv_recover_page() for the page"

And I have caught the modification.
#0  0x00000000004a5b60 in log_close ()
#1  0x00000000004d93b9 in mtr_commit ()
#2  0x000000000042e572 in ibuf_delete_rec ()
#3  0x000000000042f314 in ibuf_merge_or_delete_for_page ()
#4  0x000000000049724e in buf_page_io_complete ()
#5  0x00000000004cbdd7 in fil_aio_wait ()
#6  0x000000000040c678 in io_handler_thread ()

I suspect ibuf_merge_or_delete_for_page() from buf_page_io_complete() (triggered by recv_read_in_area()) and recv_recover_page() from recv_apply_hashed_log_recs() can conflict.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: