Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Not a Bug
-
10.2(EOL)
-
None
Description
If we take a loot at the following code
if (new_page_zip) { |
mtr_set_log_mode(mtr, log_mode);
|
if (!page_zip_compress(new_page_zip, |
new_page,
|
index,
|
page_zip_level,
|
NULL, mtr)) {
|
/* Before trying to reorganize the page, |
store the number of preceding records on the page. */ |
ulint ret_pos
|
= page_rec_get_n_recs_before(ret);
|
/* Before copying, "ret" was the successor of |
the predefined infimum record. It must still
|
have at least one predecessor (the predefined
|
infimum record, or a freshly copied record
|
that is smaller than "ret"). */ |
ut_a(ret_pos > 0); |
if (!page_zip_reorganize(new_block, index, mtr)) { |
if (!page_zip_decompress(new_page_zip, |
new_page, FALSE)) {
|
ut_error;
|
}
|
ut_ad(page_validate(new_page, index));
|
if (heap) { |
mem_heap_free(heap);
|
}
|
return(NULL); |
} else { |
...
|
}
|
}
|
}
|
in page_copy_rec_list_end(), we will see that if both page_zip_compress() and page_zip_reorganize() returned false, then there no log records will be written for the page, despite uncompressed content is changed.
Attachments
Issue Links
- relates to
-
MDEV-24719 backport MDEV-24705 from 10.5 to 10.2, 10.3, 10.4
- Closed