summaryrefslogtreecommitdiff
path: root/sql/sql_parse.cc
diff options
context:
space:
mode:
authorDaniele Sciascia <daniele.sciascia@galeracluster.com>2018-04-26 12:56:24 +0200
committerDaniele Sciascia <daniele.sciascia@galeracluster.com>2018-04-26 13:03:51 +0200
commit58c03e8f308c3f5e3a5c45b3af39529392569ba0 (patch)
tree9b318b7d2ec62c9125d194810f3dfb5d9173c956 /sql/sql_parse.cc
parentdc0613edc41590a03a75b5b75e7200c11435ad1a (diff)
downloadmariadb-git-58c03e8f308c3f5e3a5c45b3af39529392569ba0.tar.gz
MDEV-15794 Fix and re-enable test galera_var_retry_autocommit
The test was not deterministic and would occasionally fail, due to the use of `sleep`. This patch is a complete rewrite of the test using proper sync points.
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r--sql/sql_parse.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 352a1704ab7..9a1f877e4ed 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -7187,6 +7187,15 @@ static void wsrep_mysql_parse(THD *thd, char *rawbuf, uint length,
com_statement_info[thd->get_command()].m_key);
MYSQL_SET_STATEMENT_TEXT(thd->m_statement_psi, thd->query(),
thd->query_length());
+
+ DBUG_EXECUTE_IF("sync.wsrep_retry_autocommit",
+ {
+ const char act[]=
+ "now "
+ "SIGNAL wsrep_retry_autocommit_reached "
+ "WAIT_FOR wsrep_retry_autocommit_continue";
+ DBUG_ASSERT(!debug_sync_set_action(thd, STRING_WITH_LEN(act)));
+ });
}
mysql_parse(thd, rawbuf, length, parser_state);