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.
This commit is contained in:
parent
4e43e2f92d
commit
d1e9a4c15c
@ -1,3 +1,5 @@
|
||||
connection node_1;
|
||||
connection node_2;
|
||||
connection node_2;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options="gmcast.isolate=2";
|
||||
|
@ -8,6 +8,11 @@
|
||||
--source include/galera_cluster.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.
|
||||
--connection node_2
|
||||
--let $wsrep_cluster_address = `SELECT @@wsrep_cluster_address`
|
||||
@ -36,3 +41,5 @@ SET SESSION wsrep_on=0;
|
||||
|
||||
--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.");
|
||||
|
||||
--source include/auto_increment_offset_restore.inc
|
||||
|
@ -1112,7 +1112,7 @@ void end_connection(THD *thd)
|
||||
{
|
||||
NET *net= &thd->net;
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP(thd))
|
||||
if (WSREP(thd) && wsrep)
|
||||
{
|
||||
wsrep_status_t rcode= wsrep->free_connection(wsrep, thd->thread_id);
|
||||
if (rcode) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user