MDEV-26121 [Note] InnoDB: Resetting invalid page

In dict_index_t::clear(), InnoDB frees all the page except root page.
root page leaf segment has reset and does reinitialize again.
t in fseg_create(), we do have the assumption that only
FIL_PAGE_TYPE_TRX_SYS or FIL_PAGE_TYPE_TRX_SYS page should
be re-created for non-full-crc32 format. This assumption is wrong
in case of rollback of bulk insert operation.
This commit is contained in:
Thirunarayanan Balathandayuthapani 2021-11-10 11:35:19 +05:30
parent 3989d3800d
commit 3480c3f95b

View file

@ -1709,18 +1709,7 @@ fseg_create(fil_space_t *space, ulint byte_offset, mtr_t *mtr,
mtr->x_lock_space(space);
ut_d(space->modify_check(*mtr));
if (block) {
ut_ad(block->page.id().space() == space->id);
if (!space->full_crc32()) {
fil_block_check_type(*block, block->page.id()
== page_id_t(TRX_SYS_SPACE,
TRX_SYS_PAGE_NO)
? FIL_PAGE_TYPE_TRX_SYS
: FIL_PAGE_TYPE_SYS,
mtr);
}
}
ut_ad(!block || block->page.id().space() == space->id);
if (!has_done_reservation
&& !fsp_reserve_free_extents(&n_reserved, space, 2,