diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-11-16 12:49:51 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2021-11-16 12:49:51 +0200 |
commit | 079516f00efc526682aca727ac918ebf2322a16d (patch) | |
tree | 2f168513c3a823db4c1e49870934a284b91d7076 | |
parent | 72afeaf8a5016256d9ed7b16c73d521b45aa5e85 (diff) | |
download | mariadb-git-079516f00efc526682aca727ac918ebf2322a16d.tar.gz |
MDEV-27016: Assertion 'id.page_no() < space.size' failed
buf_flush_check_neighbors(): Relax a debug assertion that
could fail for the very last page(s) of a ROW_FORMAT=COMPRESSED tables using a 1024-byte or 2048-byte page size.
This assertion started to fail after
commit d09426f9e60fd93296464ec9eb5f9d85566437d3 (MDEV-26537)
modified the .ibd file extension to occur in steps of 4096 bytes.
-rw-r--r-- | storage/innobase/buf/buf0flu.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/storage/innobase/buf/buf0flu.cc b/storage/innobase/buf/buf0flu.cc index c503b97f776..3c234228771 100644 --- a/storage/innobase/buf/buf0flu.cc +++ b/storage/innobase/buf/buf0flu.cc @@ -997,7 +997,9 @@ static page_id_t buf_flush_check_neighbors(const fil_space_t &space, page_id_t &id, bool contiguous, bool lru) { - ut_ad(id.page_no() < space.size); + ut_ad(id.page_no() < space.size + + (space.physical_size() == 2048 ? 1 + : space.physical_size() == 1024 ? 3 : 0)); /* When flushed, dirty blocks are searched in neighborhoods of this size, and flushed along with the original page. */ const ulint s= buf_pool.curr_size / 16; |