Comment 2 for bug 1074255

Revision history for this message
Hui Liu (hickey) wrote :

Here are the threads that semaphore shows:
1331538240 waits for row0purge.c:680 for 241s on &dict_operation_lock, owned by 1383319872
1321048384 waits for buf0flu.c:1335 for 1s on &block->lock, owned by 1383319872 (1321048384 is main thread)
1368525120 waits for fsp0fsp.c:3144 for 231s on &dict_sys->mutex
1354787136 waits for dict0dict.c:742 for 23s on &dict_sys->mutex

I think the key threads are: 1331538240 , 1383319872 and 1392122.
1331538240 triggered the problem and I am not sure it's the purge thread. It waits dict_operation_lock in row_mysql_freeze_data_dictionary over 600s.

1383319872 owns the dict_operation_lock, which lasted for ever, and seen from the last time write lock info, it was last owned in row_mysql_lock_data_dictionary of row_drop_table_for_mysql, which should be the DDL, but the DDL is 1392122.