Commit d1e9a4c1 authored by Jan Lindström's avatar Jan Lindström

MDEV-23065 : Crash after setting wsrep_on to ON dynamically and reconnect

At end_connection make sure we have wsrep before trying to free
connection assigned to it.
parent 4e43e2f9
connection node_1;
connection node_2;
connection node_2; connection node_2;
SET SESSION wsrep_sync_wait = 0; SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options="gmcast.isolate=2"; SET GLOBAL wsrep_provider_options="gmcast.isolate=2";
......
...@@ -8,6 +8,11 @@ ...@@ -8,6 +8,11 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/galera_have_debug_sync.inc --source include/galera_have_debug_sync.inc
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--source include/auto_increment_offset_save.inc
# Force node_2 gcomm background thread to terminate via exception. # Force node_2 gcomm background thread to terminate via exception.
--connection node_2 --connection node_2
--let $wsrep_cluster_address = `SELECT @@wsrep_cluster_address` --let $wsrep_cluster_address = `SELECT @@wsrep_cluster_address`
...@@ -36,3 +41,5 @@ SET SESSION wsrep_on=0; ...@@ -36,3 +41,5 @@ SET SESSION wsrep_on=0;
--connection node_2 --connection node_2
CALL mtr.add_suppression("WSREP: exception from gcomm, backend must be restarted: Gcomm backend termination was requested by setting gmcast.isolate=2."); CALL mtr.add_suppression("WSREP: exception from gcomm, backend must be restarted: Gcomm backend termination was requested by setting gmcast.isolate=2.");
--source include/auto_increment_offset_restore.inc
...@@ -1112,7 +1112,7 @@ void end_connection(THD *thd) ...@@ -1112,7 +1112,7 @@ void end_connection(THD *thd)
{ {
NET *net= &thd->net; NET *net= &thd->net;
#ifdef WITH_WSREP #ifdef WITH_WSREP
if (WSREP(thd)) if (WSREP(thd) && wsrep)
{ {
wsrep_status_t rcode= wsrep->free_connection(wsrep, thd->thread_id); wsrep_status_t rcode= wsrep->free_connection(wsrep, thd->thread_id);
if (rcode) { if (rcode) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment