Problem
|
================
|
The innodb will crash when master thread wants to evict an unused object.
|
The backtrace:
|
ut_ad(dict_index_is_clust(index))
|
row_merge_drop_indexes
|
dict_table_remove_from_cache_low
|
dict_make_room_in_cache ()
|
srv_master_evict_from_table_cache ()
|
srv_master_do_idle_tasks ()
|
srv_master_thread (arg=0x0)
|
start_thread (arg=0x2b21c8200700)
|
clone ()
|
|
Solution
|
================
|
The wrong position of judgement logic code about variable 'drop_aborted' in function
|
dict_table_close() may be the root cause.
|
We simply move this piece of codes prior to the decrement of
|
table->n_ref_count, thus aborted index will be discard when this table
|
is being closed.
|