Regarding btr_search_drop_page_hash_when_freed from fseg_free_extent I noticed that only dict_truncate_index_tree makes call to it in row_truncate_table_for_mysql, though that is done after fil_discard_tablespace
Can you tell us the call-path where you found duplicate calls to btr_search_drop_page_hash_when_freed / btr_search_drop_page_hash_index (gdb bt with drop table should do)?
@yinfeng,
I noticed that both the lazy / non-lazy implementations call btr_search_ drop_page_ hash_index
if (srv_lazy_ drop_table) { mark_space_ was_deleted( id); flush_or_ remove_ pages( ALL_NO_ WRITE FLUSH_NO_ WRITE);
buf_LRU_
} else {
buf_LRU_
id, evict_all
? BUF_REMOVE_
: BUF_REMOVE_
}
buf_LRU_ flush_or_ remove_ pages also calls it.
Regarding btr_search_ drop_page_ hash_when_ freed from fseg_free_extent I noticed that only dict_truncate_ index_tree makes call to it in row_truncate_ table_for_ mysql, though that is done after fil_discard_ tablespace
Can you tell us the call-path where you found duplicate calls to btr_search_ drop_page_ hash_when_ freed / btr_search_ drop_page_ hash_index (gdb bt with drop table should do)?