Skip to content

Commit

Permalink
MDEV-30404: Inconsistent updates of PAGE_MAX_TRX_ID on ROW_FORMAT=COM…
Browse files Browse the repository at this point in the history
…PRESSED pages

page_copy_rec_list_start(): Do not update the PAGE_MAX_TRX_ID
on the compressed copy of the page. The modification is supposed
to be logged as part of page_zip_compress() or page_zip_reorganize().
If the page cannot be compressed (due to running out of space),
then page_zip_decompress() must be able to roll back the changes.

This fixes a regression that was introduced in
commit 56f6dab (MDEV-21174).
  • Loading branch information
dr-m committed Jan 26, 2023
1 parent e02ed04 commit 672cdcb
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions storage/innobase/page/page0page.cc
Original file line number Diff line number Diff line change
Expand Up @@ -765,12 +765,9 @@ page_copy_rec_list_start(
same temp-table in parallel.
max_trx_id is ignored for temp tables because it not required
for MVCC. */
if (n_core && dict_index_is_sec_or_ibuf(index)
&& !index->table->is_temporary()) {
page_update_max_trx_id(new_block,
new_page_zip,
page_get_max_trx_id(block->frame),
mtr);
if (n_core && !index->is_primary() && !index->table->is_temporary()) {
page_update_max_trx_id(new_block, nullptr,
page_get_max_trx_id(block->frame), mtr);
}

if (new_page_zip) {
Expand Down

0 comments on commit 672cdcb

Please sign in to comment.