Have trouble to understand bug 10942
am 23.03.2009 06:52:30 von kingHi there,
Bug #10942 is deadlock with FLUSH TABLES WITH READ LOCK + STOP SLAVE
On http://bugs.mysql.com/bug.php?id=10942, it says "FLUSH TABLES WITH
READ LOCK will prevent slave SQL thread to start next replicated
statement", and the next STOP SLAVE will lead to deadlock. My questions are:
1. How does FLUSH TABLES WITH READ LOCK prevent START SLAVE? I know
FLUSH TABLES WITH READ LOCK will take the global read lock, but I do not
know if this will fail START SLAVE. I could be totally wrong on this.
2. In which statement does START SLAVE really block,
pthread_mutex_lock(&LOCK_active_mi) or inside
start_slave(thd,active_mi,1 /* net report*/)? If it is the latter case,
can you also point me the statement?
3. Where does STOP SLAVE block, on pthread_mutex_lock(&LOCK_active_mi)?
I think this is the case: if START SLAVE block on
pthread_mutex_lock(&LOCK_active_mi), STOP SLAVE should block on the same
lock; if START SLAVE got LOCK_active_mi, STOP SLAVE should still block
there.
4. Why this will be deadlock, isn't it possible that FLUSH TABLES WITH
READ LOCK finishes, then START SLAVE, and finally STOP SLAVE?
*In general, I do not understand how they deadlock. If you can explain
that, you can also skip my questions. Thanks.*
Any help will be appreciate.
Regards,
king
--
MySQL Bugs Mailing List
For list archives: http://lists.mysql.com/bugs
To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs@m.gmane.org