diff options
author | Daniele Sciascia <daniele.sciascia@galeracluster.com> | 2019-12-11 13:08:06 +0100 |
---|---|---|
committer | Jan Lindström <jan.lindstrom@mariadb.com> | 2019-12-11 14:08:06 +0200 |
commit | 72a5a4f1d51aca36a8c87b845a7a8fb615a6ca74 (patch) | |
tree | 93a4e52bd9915da49cdb4993e773c0220501c7a2 /sql/wsrep_server_service.h | |
parent | 7c2c420b70b19cc02b5281127205e876f3919dad (diff) | |
download | mariadb-git-72a5a4f1d51aca36a8c87b845a7a8fb615a6ca74.tar.gz |
MDEV-20780 Fixes for failures on galera_sr_ddl_master (#1425)
Test galera_sr_ddl_master would sometimes fail due to leftover
streaming replication fragments. Rollbacker thread would attempt to
open streaming_log table to remove the fragments, but would fail in
check_stack_overrun(). Ultimately the check_stack_overrun() failure
was caused by rollbacker missing to switch the victim's THD thread
stack to rollbacker's thread stack.
Also in this patch:
- Remove duplicate functionality in rollbacker helper functions,
and extract rollbacker fragment removal into function
wsrep_remove_streaming_fragments()
- Reuse open_for_write() in wsrep_schema::remove_fragments
- Partially revert changes to galera_sr_ddl_master test from
commit 44a11a7c085f4f5a4042100df0828d54d596103d. Removed unnecessary
wait condition and isolation level setting
Diffstat (limited to 'sql/wsrep_server_service.h')
-rw-r--r-- | sql/wsrep_server_service.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/wsrep_server_service.h b/sql/wsrep_server_service.h index 6336fe2c473..4017c9b2d58 100644 --- a/sql/wsrep_server_service.h +++ b/sql/wsrep_server_service.h @@ -87,4 +87,14 @@ class Wsrep_applier_service; Wsrep_applier_service* wsrep_create_streaming_applier(THD *orig_thd, const char *ctx); +/** + Helper method to create new storage service. + + @param orig_thd Original thd context to copy operation context from. + @param ctx Context string for debug logging. +*/ +class Wsrep_storage_service; +Wsrep_storage_service* +wsrep_create_storage_service(THD *orig_thd, const char *ctx); + #endif /* WSREP_SERVER_SERVICE */ |