diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-07-03 14:52:04 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2021-07-03 14:52:04 +0300 |
commit | f0f47cbca18232e279ec27c6fe843f475626cfec (patch) | |
tree | 0f131717402b64a26c1f55f3d508ac9e44727e94 | |
parent | bd5a6403cace36c6ed428cde62e35adcd3f7e7d0 (diff) | |
download | mariadb-git-f0f47cbca18232e279ec27c6fe843f475626cfec.tar.gz |
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.
-rw-r--r-- | storage/innobase/buf/buf0flu.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/storage/innobase/buf/buf0flu.cc b/storage/innobase/buf/buf0flu.cc index e6999222447..1c425f308ef 100644 --- a/storage/innobase/buf/buf0flu.cc +++ b/storage/innobase/buf/buf0flu.cc @@ -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; |