mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
References: https://mariadb.atlassian.net/browse/MDEV-5908 -
moved releasing of wsrep THD mutex and thd->awake later, so that wsrep->abort_pre_commit() is guaranteed to run for a thread which is still in conflict state
This commit is contained in:
parent
8a99be643c
commit
7b57c5ea6f
2 changed files with 4 additions and 2 deletions
0
BUILD/compile-amd64-debug-wsrep
Normal file → Executable file
0
BUILD/compile-amd64-debug-wsrep
Normal file → Executable file
|
@ -16771,8 +16771,6 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr,
|
|||
|
||||
WSREP_DEBUG("kill query for: %ld",
|
||||
wsrep_thd_thread_id(thd));
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
wsrep_thd_awake(thd, signal);
|
||||
WSREP_DEBUG("kill trx QUERY_COMMITTING for %llu",
|
||||
victim_trx->id);
|
||||
|
||||
|
@ -16789,6 +16787,8 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr,
|
|||
case WSREP_WARNING:
|
||||
WSREP_DEBUG("cancel commit warning: %llu",
|
||||
victim_trx->id);
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
wsrep_thd_awake(thd, signal);
|
||||
DBUG_RETURN(1);
|
||||
break;
|
||||
case WSREP_OK:
|
||||
|
@ -16806,6 +16806,8 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr,
|
|||
break;
|
||||
}
|
||||
}
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
wsrep_thd_awake(thd, signal);
|
||||
break;
|
||||
case QUERY_EXEC:
|
||||
/* it is possible that victim trx is itself waiting for some
|
||||
|
|
Loading…
Add table
Reference in a new issue