diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-10-15 13:27:09 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-10-15 17:05:55 +0300 |
commit | abb678b61894146fcb88eed7f4a5facf434aea7c (patch) | |
tree | 58934d4e9ba3dd95ca4d5e3d596d4502412bd9c3 /storage/innobase/buf | |
parent | 7cffb5f6e8a231a041152447be8980ce35d2c9b8 (diff) | |
download | mariadb-git-abb678b61894146fcb88eed7f4a5facf434aea7c.tar.gz |
MDEV-19514 fixup: Simplify buf_page_read_complete()
False positives for buf_page_t::ibuf_exist are acceptable,
because it does not hurt to unnecessarily invoke
ibuf_merge_or_delete_for_page().
Invoking buf_page_get_gen() in a read completion function
is a definite no-no, because it could trigger a page flush
or cause the server to run out of buffer pool.
With some MDEV-23855 changes present, the test innodb.purge_secondary
occasionally failed due to the table having been dropped while
ibuf_page_exists() invoked buf_page_get_gen().
Reviewed by: Thirunarayanan Balathandayuthapani
Diffstat (limited to 'storage/innobase/buf')
-rw-r--r-- | storage/innobase/buf/buf0buf.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/storage/innobase/buf/buf0buf.cc b/storage/innobase/buf/buf0buf.cc index 6bde6939fd6..1f3cbb56234 100644 --- a/storage/innobase/buf/buf0buf.cc +++ b/storage/innobase/buf/buf0buf.cc @@ -4325,7 +4325,7 @@ release_page: if (bpage->state() == BUF_BLOCK_FILE_PAGE && !recv_no_ibuf_operations && (!id.space() || !is_predefined_tablespace(id.space())) && fil_page_get_type(frame) == FIL_PAGE_INDEX && - page_is_leaf(frame) && ibuf_page_exists(id, bpage->zip_size())) + page_is_leaf(frame)) bpage->ibuf_exist= true; if (UNIV_UNLIKELY(MONITOR_IS_ON(MONITOR_MODULE_BUF_PAGE))) |