Skip to content
Permalink
Browse files
MDEV-26017 fixup
buf_flush_relocate_on_flush_list(): Use dpage->physical_size()
because bpage->zip.ssize may already have been zeroed in
page_zip_set_size() invoked by buf_pool_t::realloc().

This would cause occasional failures of the test
innodb.innodb_buffer_pool_resize, which creates a
ROW_FORMAT=COMPRESSED table.
  • Loading branch information
dr-m committed Jul 3, 2021
1 parent bd5a640 commit f0f47cb
Showing 1 changed file with 2 additions and 2 deletions.
@@ -302,7 +302,7 @@ buf_flush_relocate_on_flush_list(
/* FIXME: Can we avoid holding buf_pool.mutex here? */
ut_ad(dpage->oldest_modification() == lsn);

if (const lsn_t o_lsn = bpage->oldest_modification()) {
if (ut_d(const lsn_t o_lsn =) bpage->oldest_modification()) {
ut_ad(o_lsn == lsn);

/* Important that we adjust the hazard pointer before removing
@@ -321,7 +321,7 @@ buf_flush_relocate_on_flush_list(
}

if (lsn == 1) {
buf_pool.stat.flush_list_bytes -= bpage->physical_size();
buf_pool.stat.flush_list_bytes -= dpage->physical_size();
was_clean:
dpage->list.prev = nullptr;
dpage->list.next = nullptr;

0 comments on commit f0f47cb

Please sign in to comment.