buf_LRU_flush_or_remove_pages won't call buf_LRU_drop_page_hash_for_tablespace if buf_remove=BUF_REMOVE_FLUSH_NO_WRITE. Bellow is the quited code from buf_LRU_flush_or_remove_pages
case BUF_REMOVE_FLUSH_NO_WRITE:
/* A DROP table case. AHI entries are already removed. No need to evict all pages from LRU
list. Just evict pages from flush list without writing. */ buf_flush_dirty_pages(buf_pool, id);
break;
backtrace of the first call to free page hash index entries:
#0 btr_search_drop_page_hash_when_freed (space=17296, zip_size=4096, page_no=622)
at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/btr/btr0sea.c:1447
#1 0x0000000000855c29 in fseg_free_extent (seg_inode=<value optimized out>, space=17296, zip_size=4096, page=576, mtr=0x7fe183a5ffd0)
at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/fsp/fsp0fsp.c:3498
#2 0x0000000000856a24 in fseg_free_step (header=<value optimized out>, mtr=0x7fe183a5ffd0)
at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/fsp/fsp0fsp.c:3598
#3 0x00000000007f7441 in btr_free_but_not_root (space=17296, zip_size=4096, root_page_no=3)
at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/btr/btr0btr.c:1544
#4 0x0000000000826e7e in dict_drop_index_tree (rec=0x7fe43dc076c6 "", mtr=0x7fe183a60580)
at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/dict/dict0crea.c:795
#5 0x00000000007be8fd in row_upd_clust_step (node=0x7fe17802e088, thr=0x7fe17802fd68)
at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/row/row0upd.c:2210
#6 0x00000000007bf2be in row_upd (thr=0x7fe17802fd68) at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/row/row0upd.c:2356
#7 row_upd_step (thr=0x7fe17802fd68) at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/row/row0upd.c:2496
#8 0x00000000008a4b08 in que_thr_step (thr=0x7fe17802fd68) at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/que/que0que.c:1238
#9 que_run_threads_low (thr=0x7fe17802fd68) at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/que/que0que.c:1319
#10 que_run_threads (thr=0x7fe17802fd68) at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/que/que0que.c:1356
#11 0x00000000008a5206 in que_eval_sql (info=<value optimized out>, sql=<value optimized out>, reserve_dict_mutex=<value optimized out>,
trx=0x7fe178013bf8) at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/que/que0que.c:1445
#12 0x00000000007ac98a in row_drop_table_for_mysql (name=0x7fe183a60ff0 "sbtest/sbtest6", trx=0x7fe178013bf8, drop_db=<value optimized out>)
at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/row/row0mysql.c:3433
#13 0x00000000007974c0 in ha_innobase::delete_table (this=<value optimized out>, name=0x7fe183a62500 "./sbtest/sbtest6")
at /u01/project/Percona-Server-5.5.28-rel29.1/storage/innobase/handler/ha_innodb.cc:8361
#14 0x0000000000699f0e in ha_delete_table (thd=0x14870730, table_type=<value optimized out>, path=0x7fe183a62500 "./sbtest/sbtest6",
db=0x7fe178004ee8 "sbtest", alias=0x7fe178004988 "sbtest6", generate_warning=true)
at /u01/project/Percona-Server-5.5.28-rel29.1/sql/handler.cc:2211
buf_LRU_ flush_or_ remove_ pages won't call buf_LRU_ drop_page_ hash_for_ tablespace if buf_remove= BUF_REMOVE_ FLUSH_NO_ WRITE. Bellow is the quited code from buf_LRU_ flush_or_ remove_ pages
case BUF_REMOVE_ FLUSH_NO_ WRITE:
removed. No need to evict all pages from LRU
writing. */
buf_ flush_dirty_ pages(buf_ pool, id);
/* A DROP table case. AHI entries are already
list. Just evict pages from flush list without
break;
backtrace of the first call to free page hash index entries:
#0 btr_search_ drop_page_ hash_when_ freed (space=17296, zip_size=4096, page_no=622) Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ btr/btr0sea. c:1447 Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ fsp/fsp0fsp. c:3498 Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ fsp/fsp0fsp. c:3598 but_not_ root (space=17296, zip_size=4096, root_page_no=3) Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ btr/btr0btr. c:1544 index_tree (rec=0x7fe43dc076c6 "", mtr=0x7fe183a60580) Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ dict/dict0crea. c:795 2e088, thr=0x7fe17802fd68) Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ row/row0upd. c:2210 fd68) at /u01/project/ Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ row/row0upd. c:2356 fd68) at /u01/project/ Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ row/row0upd. c:2496 fd68) at /u01/project/ Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ que/que0que. c:1238 fd68) at /u01/project/ Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ que/que0que. c:1319 fd68) at /u01/project/ Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ que/que0que. c:1356 dict_mutex= <value optimized out>, 0x7fe178013bf8) at /u01/project/ Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ que/que0que. c:1445 table_for_ mysql (name=0x7fe183a 60ff0 "sbtest/sbtest6", trx=0x7fe178013bf8, drop_db=<value optimized out>) Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ row/row0mysql. c:3433 :delete_ table (this=<value optimized out>, name=0x7fe183a62500 "./sbtest/sbtest6") Percona- Server- 5.5.28- rel29.1/ storage/ innobase/ handler/ ha_innodb. cc:8361 0x7fe178004ee8 "sbtest", alias=0x7fe1780 04988 "sbtest6", generate_ warning= true) Percona- Server- 5.5.28- rel29.1/ sql/handler. cc:2211
at /u01/project/
#1 0x0000000000855c29 in fseg_free_extent (seg_inode=<value optimized out>, space=17296, zip_size=4096, page=576, mtr=0x7fe183a5ffd0)
at /u01/project/
#2 0x0000000000856a24 in fseg_free_step (header=<value optimized out>, mtr=0x7fe183a5ffd0)
at /u01/project/
#3 0x00000000007f7441 in btr_free_
at /u01/project/
#4 0x0000000000826e7e in dict_drop_
at /u01/project/
#5 0x00000000007be8fd in row_upd_clust_step (node=0x7fe1780
at /u01/project/
#6 0x00000000007bf2be in row_upd (thr=0x7fe17802
#7 row_upd_step (thr=0x7fe17802
#8 0x00000000008a4b08 in que_thr_step (thr=0x7fe17802
#9 que_run_threads_low (thr=0x7fe17802
#10 que_run_threads (thr=0x7fe17802
#11 0x00000000008a5206 in que_eval_sql (info=<value optimized out>, sql=<value optimized out>, reserve_
trx=
#12 0x00000000007ac98a in row_drop_
at /u01/project/
#13 0x00000000007974c0 in ha_innobase:
at /u01/project/
#14 0x0000000000699f0e in ha_delete_table (thd=0x14870730, table_type=<value optimized out>, path=0x7fe183a62500 "./sbtest/sbtest6",
db=
at /u01/project/