summaryrefslogtreecommitdiff
path: root/include/mysql
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2019-03-12 15:44:10 +0200
committerJan Lindström <jan.lindstrom@mariadb.com>2019-03-13 10:18:12 +0200
commitd0ebb155fe68924848b92cbc0e6f5e9958acdab8 (patch)
treea61ff9a3604ad91f055dc4e7a9e72fae2cefdbf3 /include/mysql
parent20928e2e960454ff7f9dee0094a464b1a6fdb195 (diff)
downloadmariadb-git-d0ebb155fe68924848b92cbc0e6f5e9958acdab8.tar.gz
MDEV-18577: Indexes problem on import dump SQL
Problem was that we skipped background persistent statistics calculation on applier nodes if thread is marked as high priority (a.k.a BF). However, on applier nodes all DDL which is replicate will be executed as high priority i.e BF. Fixed by allowing background persistent statistics calculation on applier nodes even when thread is marked as BF. This could lead BF lock waits but for queries on that node needs that statistics.
Diffstat (limited to 'include/mysql')
-rw-r--r--include/mysql/service_wsrep.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/mysql/service_wsrep.h b/include/mysql/service_wsrep.h
index 267c8cb4e90..ee28856ac73 100644
--- a/include/mysql/service_wsrep.h
+++ b/include/mysql/service_wsrep.h
@@ -112,6 +112,7 @@ extern struct wsrep_service_st {
int (*wsrep_trx_order_before_func)(MYSQL_THD, MYSQL_THD);
void (*wsrep_unlock_rollback_func)();
void (*wsrep_set_data_home_dir_func)(const char *data_dir);
+ my_bool (*wsrep_thd_is_applier_func)(MYSQL_THD);
} *wsrep_service;
#ifdef MYSQL_DYNAMIC_PLUGIN
@@ -155,6 +156,7 @@ extern struct wsrep_service_st {
#define wsrep_trx_order_before(T1,T2) wsrep_service->wsrep_trx_order_before_func(T1,T2)
#define wsrep_unlock_rollback() wsrep_service->wsrep_unlock_rollback_func()
#define wsrep_set_data_home_dir(A) wsrep_service->wsrep_set_data_home_dir_func(A)
+#define wsrep_thd_is_applier(T) wsrep_service->wsrep_thd_is_applier(T)
#define wsrep_debug get_wsrep_debug()
#define wsrep_log_conflicts get_wsrep_log_conflicts()
@@ -214,7 +216,7 @@ void wsrep_thd_set_conflict_state(THD *thd, enum wsrep_conflict_state state);
bool wsrep_thd_ignore_table(THD *thd);
void wsrep_unlock_rollback();
void wsrep_set_data_home_dir(const char *data_dir);
-
+my_bool wsrep_thd_is_applier(MYSQL_THD thd);
#endif
#ifdef __cplusplus