Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Seppo Jaakola committed Mar 20, 2014
1 parent 8a99be6 commit 7b57c5e
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
Empty file modified BUILD/compile-amd64-debug-wsrep 100644 → 100755
Empty file.
6 changes: 4 additions & 2 deletions storage/innobase/handler/ha_innodb.cc
Expand Up @@ -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);

Expand All @@ -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:
Expand All @@ -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
Expand Down

0 comments on commit 7b57c5e

Please sign in to comment.