From 550b8d76b3be360b1c7984a2531e094cd4c37f8c Mon Sep 17 00:00:00 2001 From: Thirunarayanan Balathandayuthapani Date: Tue, 28 Feb 2023 20:19:06 +0530 Subject: [PATCH] MDEV-30752 Assertion `!index->is_ibuf()' failed around cmp_dtuple_rec_with_match_bytes - InnoDB shouldn't use the adaptive hash index for change buffer indexes. --- storage/innobase/btr/btr0cur.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/storage/innobase/btr/btr0cur.cc b/storage/innobase/btr/btr0cur.cc index ec1b72244b4..8d19064a658 100644 --- a/storage/innobase/btr/btr0cur.cc +++ b/storage/innobase/btr/btr0cur.cc @@ -1011,9 +1011,10 @@ dberr_t btr_cur_t::search_leaf(const dtuple_t *tuple, page_cur_mode_t mode, # ifdef UNIV_SEARCH_PERF_STAT info->n_searches++; # endif + bool ahi_enabled= btr_search_enabled && !index()->is_ibuf(); /* We do a dirty read of btr_search_enabled below, and btr_search_guess_on_hash() will have to check it again. */ - if (!btr_search_enabled); + if (!ahi_enabled); else if (btr_search_guess_on_hash(index(), info, tuple, mode, latch_mode, this, mtr)) { @@ -1335,7 +1336,7 @@ release_tree: reached_latched_leaf: #ifdef BTR_CUR_HASH_ADAPT - if (btr_search_enabled && !(tuple->info_bits & REC_INFO_MIN_REC_FLAG)) + if (ahi_enabled && !(tuple->info_bits & REC_INFO_MIN_REC_FLAG)) { if (page_cur_search_with_match_bytes(tuple, mode, &up_match, &up_bytes,