mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 06:44:16 +01:00
branches/zip: Improve the diagnostics for tracking down issue#63 and issue#65.
buf_flush_init_for_writing(), buf_LRU_block_remove_hashed_page(): Dump the page frame featuring the incorrect FIL_PAGE_TYPE along with the page_zip->data that might contain an earlier version of the page.
This commit is contained in:
parent
cd124b7524
commit
6cddd9c551
2 changed files with 9 additions and 2 deletions
|
@ -638,6 +638,8 @@ buf_flush_init_for_writing(
|
|||
ut_print_timestamp(stderr);
|
||||
fputs(" InnoDB: ERROR: The compressed page to be written"
|
||||
" seems corrupt:", stderr);
|
||||
ut_print_buf(stderr, page, zip_size);
|
||||
fputs("\nInnoDB: Possibly older version of the page:", stderr);
|
||||
ut_print_buf(stderr, page_zip->data, zip_size);
|
||||
putc('\n', stderr);
|
||||
ut_error;
|
||||
|
|
|
@ -1455,6 +1455,8 @@ buf_LRU_block_remove_hashed_page(
|
|||
buf_block_modify_clock_inc((buf_block_t*) bpage);
|
||||
if (bpage->zip.data) {
|
||||
const page_t* page = ((buf_block_t*) bpage)->frame;
|
||||
const ulint zip_size
|
||||
= page_zip_get_size(&bpage->zip);
|
||||
|
||||
ut_a(!zip || bpage->oldest_modification == 0);
|
||||
|
||||
|
@ -1472,7 +1474,7 @@ buf_LRU_block_remove_hashed_page(
|
|||
to the compressed page, which will
|
||||
be preserved. */
|
||||
memcpy(bpage->zip.data, page,
|
||||
page_zip_get_size(&bpage->zip));
|
||||
zip_size);
|
||||
}
|
||||
break;
|
||||
case FIL_PAGE_TYPE_ZBLOB:
|
||||
|
@ -1487,8 +1489,11 @@ buf_LRU_block_remove_hashed_page(
|
|||
ut_print_timestamp(stderr);
|
||||
fputs(" InnoDB: ERROR: The compressed page"
|
||||
" to be evicted seems corrupt:", stderr);
|
||||
ut_print_buf(stderr, page, zip_size);
|
||||
fputs("\nInnoDB: Possibly older version"
|
||||
" of the page:", stderr);
|
||||
ut_print_buf(stderr, bpage->zip.data,
|
||||
page_zip_get_size(&bpage->zip));
|
||||
zip_size);
|
||||
putc('\n', stderr);
|
||||
ut_error;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue