maria-developers team mailing list archive
Mailing list archive
Re: 5.5 merge status
About LOCK_log, LOCK_index, LOCK_thread_count and the Bug#62614:
1. In mysql-5.5.13, that we're merging with, LOCK_thread_count is called
*after* LOCK_log and LOCK_index. Perhaps it was your merge of log.cc
where you swapped them.
2. But in the latest 5.5 as on launchpad, LOCK_thread_count comes before
LOCK_log and LOCK_index - they've changed it recently.
3. LOCK_thd_data should go after LOCK_thread_count, because
LOCK_thread_count is taken around 'delete thd', and LOCK_thd_data -
in the THD destructor.
4. LOCK_log should go after LOCK_thd_data, because LOCK_thd_data is
taken around THD::awake(), and THD::awake() locks,
mysys_var->current_mutex, which is LOCK_log in
5. from 3 and 4 follows that LOCK_thread_count should be locked before
LOCK_log, not after. Incidentally, when I did that, almost all safemutex
deadlock detector warnings dissapeared (those that I've seen in every
rpl test; there are be few in individual tests still).