Commit 7b57c5ea authored by Seppo Jaakola's avatar Seppo Jaakola

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
parent 8a99be64
File mode changed from 100644 to 100755
...@@ -16771,8 +16771,6 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr, ...@@ -16771,8 +16771,6 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr,
WSREP_DEBUG("kill query for: %ld", WSREP_DEBUG("kill query for: %ld",
wsrep_thd_thread_id(thd)); wsrep_thd_thread_id(thd));
wsrep_thd_UNLOCK(thd);
wsrep_thd_awake(thd, signal);
WSREP_DEBUG("kill trx QUERY_COMMITTING for %llu", WSREP_DEBUG("kill trx QUERY_COMMITTING for %llu",
victim_trx->id); victim_trx->id);
...@@ -16789,6 +16787,8 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr, ...@@ -16789,6 +16787,8 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr,
case WSREP_WARNING: case WSREP_WARNING:
WSREP_DEBUG("cancel commit warning: %llu", WSREP_DEBUG("cancel commit warning: %llu",
victim_trx->id); victim_trx->id);
wsrep_thd_UNLOCK(thd);
wsrep_thd_awake(thd, signal);
DBUG_RETURN(1); DBUG_RETURN(1);
break; break;
case WSREP_OK: case WSREP_OK:
...@@ -16806,6 +16806,8 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr, ...@@ -16806,6 +16806,8 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr,
break; break;
} }
} }
wsrep_thd_UNLOCK(thd);
wsrep_thd_awake(thd, signal);
break; break;
case QUERY_EXEC: case QUERY_EXEC:
/* it is possible that victim trx is itself waiting for some /* it is possible that victim trx is itself waiting for some
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment