Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Duplicate
-
None
Description
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.
|
https://github.com/alibaba/AliSQL/commit/58ebcbd5c8998a43e985223e665e5da331f5651c
Attachments
Issue Links
- duplicates
-
MDEV-13051 MySQL#86607 InnoDB crash after failed ADD INDEX and table_definition_cache eviction
- Closed