Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.0.13
-
None
-
None
Description
Our automated testing detected the report from safe_mutex about wrong usage of mutexes. Manual analysis reveals that there are indeed code paths that lock these mutexes in the different order.
First code path (line numbers are from 10.0.13 tarball):
sql/slave.cc:6206 (function next_event()) -- locks LOCK_log
|
sql/slave.cc:6397 (further in function next_event()) -- locks rli->log_space_lock
|
Second code path:
sql/slave.cc:2238 (function wait_for_relay_log_space()) -- locks rli->log_space_lock
|
sql/log.cc:4825 (function MYSQL_BIN_LOG::new_file_impl() called from MYSQL_BIN_LOG::new_file() called from rotate_relay_log() called from further in wait_for_relay_log_space()) -- locks LOCK_log
|
Even if currently it's impossible for these code paths to execute at the same time in parallel please fix them to avoid safe_mutex error message (which actually means that in future some changes may lead to these paths to dead lock).