diff options
author | Teemu Ollakka <teemu.ollakka@galeracluster.com> | 2019-07-25 16:41:45 +0300 |
---|---|---|
committer | Teemu Ollakka <teemu.ollakka@galeracluster.com> | 2019-08-29 16:35:57 +0300 |
commit | b9cbb42bbffe839f41112b129238d846f3c27a59 (patch) | |
tree | ba0c8fb0737b7dbace8ea4e5eaa3cb3427de11a6 /wsrep-lib | |
parent | 5bb8945a3ae96c8b1e12c0418638eb2416fad0e4 (diff) | |
download | mariadb-git-bb-10.4-sysprg.tar.gz |
MDEV-19826 10.4 seems to crash with "pool-of-threads"bb-10.4-sysprg
MariaDB 10.4 was crashing when thread-handling was set to
pool-of-threads and wsrep was enabled.
There were two apparent reasons for the crash:
- Connection handling in threadpool_common.cc was missing calls to
control wsrep client state.
- Thread specific storage which contains thread variables (THR_KEY_mysys)
was not handled appropriately by wsrep patch when pool-of-threads
was configured.
This patch addresses the above issues in the following way:
- Wsrep client state open/close was moved in thd_prepare_connection() and
end_connection() to have common handling for one-thread-per-connection
and pool-of-threads.
- Thread local storage handling in wsrep patch was reworked by introducing
set of wsrep_xxx_threadvars() calls which replace calls to
THD store_globals()/reset_globals() and deal with thread handling
specifics internally.
Wsrep-lib was updated to version which relaxes internal concurrency
related sanity checks.
Rollback code from wsrep_rollback_process() was extracted to separate calls
for better readability.
Post rollback thread was removed as it was completely unused.
Diffstat (limited to 'wsrep-lib')
m--------- | wsrep-lib | 0 |
1 files changed, 0 insertions, 0 deletions
diff --git a/wsrep-lib b/wsrep-lib -Subproject 0f676bd89378c7c823cff7ae7cdaef3cafcca23 +Subproject 58aa3e821f575532870c5f76f6f1cf833458eed |