summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-07-03 14:52:04 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2021-07-03 14:52:04 +0300
commitf0f47cbca18232e279ec27c6fe843f475626cfec (patch)
tree0f131717402b64a26c1f55f3d508ac9e44727e94
parentbd5a6403cace36c6ed428cde62e35adcd3f7e7d0 (diff)
downloadmariadb-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.cc4
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;