summaryrefslogtreecommitdiff
path: root/sql/wsrep_thd.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-08-26 10:20:17 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2021-08-26 10:20:17 +0300
commitcc4e20e56f1e558a23ef15be5819fde0f2dfd284 (patch)
treea244dd8a3bea772c997a02f8c48fef1426a39181 /sql/wsrep_thd.cc
parentded27d28968e6e47e901b9472001550ec3dbfdd1 (diff)
parent87ff4ba7c874ccb8a5b1105571569a94ca959d53 (diff)
downloadmariadb-git-cc4e20e56f1e558a23ef15be5819fde0f2dfd284.tar.gz
Merge 10.5 into 10.6
Diffstat (limited to 'sql/wsrep_thd.cc')
-rw-r--r--sql/wsrep_thd.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/sql/wsrep_thd.cc b/sql/wsrep_thd.cc
index e4e598d472a..bccd1a4f8b3 100644
--- a/sql/wsrep_thd.cc
+++ b/sql/wsrep_thd.cc
@@ -340,11 +340,20 @@ int wsrep_abort_thd(THD *bf_thd_ptr, THD *victim_thd_ptr, my_bool signal)
DBUG_RETURN(1);
}
-bool wsrep_bf_abort(const THD* bf_thd, THD* victim_thd)
+bool wsrep_bf_abort(THD* bf_thd, THD* victim_thd)
{
WSREP_LOG_THD(bf_thd, "BF aborter before");
WSREP_LOG_THD(victim_thd, "victim before");
- wsrep::seqno bf_seqno(bf_thd->wsrep_trx().ws_meta().seqno());
+
+ DBUG_EXECUTE_IF("sync.wsrep_bf_abort",
+ {
+ const char act[]=
+ "now "
+ "SIGNAL sync.wsrep_bf_abort_reached "
+ "WAIT_FOR signal.wsrep_bf_abort";
+ DBUG_ASSERT(!debug_sync_set_action(bf_thd,
+ STRING_WITH_LEN(act)));
+ };);
if (WSREP(victim_thd) && !victim_thd->wsrep_trx().active())
{
@@ -368,6 +377,8 @@ bool wsrep_bf_abort(const THD* bf_thd, THD* victim_thd)
}
bool ret;
+ wsrep::seqno bf_seqno(bf_thd->wsrep_trx().ws_meta().seqno());
+
if (wsrep_thd_is_toi(bf_thd))
{
ret= victim_thd->wsrep_cs().total_order_bf_abort(bf_seqno);