diff --git a/mysql-8.0.19/storage/innobase/buf/buf0buf.cc b/mysql-8.0.19/storage/innobase/buf/buf0buf.cc index 1a0b7b2af..b5dc541b5 100644 --- a/mysql-8.0.19/storage/innobase/buf/buf0buf.cc +++ b/mysql-8.0.19/storage/innobase/buf/buf0buf.cc @@ -3803,8 +3803,13 @@ dberr_t Buf_fetch::zip_page_handler(buf_block_t *&fix_block) { bool success = buf_zip_decompress(block, FALSE); ut_a(success); } + bool skip_ibuf = fsp_is_system_temporary(page_id.space()) || + fsp_is_undo_tablespace(page_id.space()) || + recv_no_ibuf_operations || + fil_page_get_type(block->frame) != FIL_PAGE_INDEX || + !page_is_leaf(block->frame); - if (!recv_no_ibuf_operations) { + if (!skip_ibuf) { if (access_time != 0) { #ifdef UNIV_IBUF_COUNT_DEBUG ut_a(ibuf_count_get(m_page_id) == 0);