Skip to content

Commit 6b188e1

Browse files
Hemant Dangidahlerlend
authored andcommitted
Bug#30672362: GROUP REPLICATION TEST FAILING ON WIN DUE TO STATIC INITIALIZATIONS OF VARIABLES
Issue ===== The testcases gr_autostart_on_install, gr_user and gr_readmode_on_autostart are failing Windows platform when build with with openssl-1.1.1d-static Group Replication started with 'group_replication_ssl_mode=REQUIRED' mode. The issue is because of variables plugin_is_being_uninstalled and plugin_is_waiting_to_set_server_read_mode are not getting reset in plugin_group_replication_init() (called when `INSTALL PLUGIN group_replication..` is executed) and their static initialization in plugin.cc. Solution ======== Remove static initialization of plugin variables plugin_is_being_uninstalled and plugin_is_waiting_to_set_server_read_mode in plugin.cc and reset them in plugin_group_replication_init(). RB: 23559
1 parent 81689d3 commit 6b188e1

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

rapid/plugin/group_replication/src/plugin.cc

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,12 @@ unsigned int plugin_version= 0;
3838

3939
//The plugin running flag and lock
4040
static mysql_mutex_t plugin_running_mutex;
41-
static bool group_replication_running;
41+
bool group_replication_running= false;
4242
bool wait_on_engine_initialization= false;
4343
bool server_shutdown_status= false;
4444
bool plugin_is_auto_starting= false;
45-
static bool plugin_is_waiting_to_set_server_read_mode= false;
46-
static bool plugin_is_being_uninstalled= false;
45+
bool plugin_is_waiting_to_set_server_read_mode= false;
46+
bool plugin_is_being_uninstalled= false;
4747

4848
/* Plugin modules */
4949
//The plugin applier
@@ -987,6 +987,11 @@ int terminate_plugin_modules(bool flag_stop_async_channel)
987987

988988
int plugin_group_replication_init(MYSQL_PLUGIN plugin_info)
989989
{
990+
// Reset plugin local variables.
991+
group_replication_running= false;
992+
plugin_is_being_uninstalled= false;
993+
plugin_is_waiting_to_set_server_read_mode= false;
994+
990995
// Register all PSI keys at the time plugin init
991996
#ifdef HAVE_PSI_INTERFACE
992997
register_all_group_replication_psi_keys();

rapid/unittest/gunit/group_replication/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
1+
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
22
#
33
# This program is free software; you can redistribute it and/or modify
44
# it under the terms of the GNU General Public License, version 2.0,

0 commit comments

Comments
 (0)