summaryrefslogtreecommitdiff
path: root/sql/mdl.cc
diff options
context:
space:
mode:
authorsjaakola <seppo.jaakola@iki.fi>2015-12-02 22:57:46 +0200
committerNirbhay Choubey <nirbhay@mariadb.com>2016-02-23 00:13:12 -0500
commit18f160d954dcd77a16a994bba4943212b831acbb (patch)
tree0529348fed2b6ebbf91a2f480f949dd666a83796 /sql/mdl.cc
parentbf9572ba5925fb7687e5407f4c52a1d429d3d9e3 (diff)
downloadmariadb-git-18f160d954dcd77a16a994bba4943212b831acbb.tar.gz
refs codership/mysql-wsrep#233
- added dbug sync points for further mtr test for this issue
Diffstat (limited to 'sql/mdl.cc')
-rw-r--r--sql/mdl.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/mdl.cc b/sql/mdl.cc
index 44831c55b44..2aef46a4fa5 100644
--- a/sql/mdl.cc
+++ b/sql/mdl.cc
@@ -24,6 +24,7 @@
#include <mysql/psi/mysql_stage.h>
#ifdef WITH_WSREP
+#include "debug_sync.h"
#include "wsrep_mysqld.h"
#include "wsrep_thd.h"
extern "C" my_thread_id wsrep_thd_thread_id(THD *thd);
@@ -1445,6 +1446,15 @@ MDL_wait::timed_wait(MDL_context_owner *owner, struct timespec *abs_timeout,
wait_result != ETIMEDOUT && wait_result != ETIME)
{
#ifdef WITH_WSREP
+ // Allow tests to block the applier thread using the DBUG facilities
+ DBUG_EXECUTE_IF("sync.wsrep_before_mdl_wait",
+ {
+ const char act[]=
+ "now "
+ "wait_for signal.wsrep_before_mdl_wait";
+ DBUG_ASSERT(!debug_sync_set_action((owner->get_thd()),
+ STRING_WITH_LEN(act)));
+ };);
if (wsrep_thd_is_BF(owner->get_thd(), true))
{
wait_result= mysql_cond_wait(&m_COND_wait_status, &m_LOCK_wait_status);