mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
MDEV-26914: Unreleased mutex in the exec_relay_log_event() function
In the replication-related code, in the exec_relay_log_event() (slave.cc) function, where the "data_lock" mutex is captured, this mutex is then not released on one of the early return branches within a specific insert for WSREP, namely under the branch: "if (wsrep_before_statement(thd))". As a result, the mutex remains captured, resulting in errors or hangs. This commit fixes this issue, which is now showing up as intermittent failures in mtr tests for galera and galera_sr suites.
This commit is contained in:
parent
772d6d347d
commit
7948a1dc53
1 changed files with 2 additions and 0 deletions
|
@ -4124,6 +4124,8 @@ static int exec_relay_log_event(THD* thd, Relay_log_info* rli,
|
|||
#ifdef WITH_WSREP
|
||||
if (wsrep_before_statement(thd))
|
||||
{
|
||||
mysql_mutex_unlock(&rli->data_lock);
|
||||
delete ev;
|
||||
WSREP_INFO("Wsrep before statement error");
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue