Server IP : 104.21.38.3 / Your IP : 162.158.88.21 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/server/mysql/mysql-test/suite/group_replication/t/ |
Upload File : |
################################################################################ # # exit_state_action sysvar specifies which action is taken by a server once it # has involuntarily left the group. Currently there are only two actions: # either the server continues running but with super_read_only enabled # (READ_ONLY) or it aborts (ABORT_SERVER). # # This test verifies that the sysvar behaves as expected, meaning that the # default value is the expected one (READ_ONLY), that we can change it # and the value is maintained and that invalid values result in error. # # Test: # 0) The test requires one server. # 1) Check the default value. It should be READ_ONLY. # 2) Set the sysvar to the possible valid values. Verify that the valid values # are accepted with no error and the values are set correctly. # 3) Set the sysvar to invalid values. There should be an error and the value of # the sysvar should not be altered. # 4) Cleanup. # ################################################################################ --source include/have_debug.inc --source ../inc/have_group_replication_plugin.inc --let $rpl_skip_group_replication_start= 1 --source ../inc/group_replication.inc --echo --echo ######################################################################### --echo # 0) The test requires one server. --echo ######################################################################### --echo --let $rpl_connection_name= server1 --source include/rpl_connection.inc SET @exit_state_action_saved = @@GLOBAL.group_replication_exit_state_action; --echo --echo ######################################################################### --echo # 1) Check the default value. It should be READ_ONLY. --echo ######################################################################### --echo SET @@GLOBAL.group_replication_exit_state_action = default; --let $assert_text= The default of group_replication_exit_state_action should be READ_ONLY --let $assert_cond= "[SELECT @@GLOBAL.group_replication_exit_state_action]" = "READ_ONLY" --source include/assert.inc --echo --echo ######################################################################### --echo # 2) Set the sysvar to the possible valid values. --echo ######################################################################### --echo SET GLOBAL group_replication_exit_state_action = "READ_ONLY"; --let $assert_text= The default of group_replication_exit_state_action should be READ_ONLY --let $assert_cond= "[SELECT @@GLOBAL.group_replication_exit_state_action]" = "READ_ONLY" --source include/assert.inc SET GLOBAL group_replication_exit_state_action = "ABORT_SERVER"; --let $assert_text= The default of group_replication_exit_state_action should be ABORT_SERVER --let $assert_cond= "[SELECT @@GLOBAL.group_replication_exit_state_action]" = "ABORT_SERVER" --source include/assert.inc --echo --echo ######################################################################### --echo # 3) Set the sysvar to invalid values. There should be an error and the --echo # value of the sysvar should not be altered. --echo ######################################################################### --echo --error ER_WRONG_VALUE_FOR_VAR SET GLOBAL group_replication_exit_state_action = 42; --error ER_WRONG_VALUE_FOR_VAR SET GLOBAL group_replication_exit_state_action = on; --error ER_WRONG_VALUE_FOR_VAR SET GLOBAL group_replication_exit_state_action = "abort"; SET GLOBAL group_replication_exit_state_action = "READ_ONLY"; --let $assert_text= The default of group_replication_exit_state_action should be READ_ONLY --let $assert_cond= "[SELECT @@GLOBAL.group_replication_exit_state_action]" = "READ_ONLY" --source include/assert.inc --echo --echo ######################################################################### --echo # 4) Cleanup. --echo ######################################################################### --echo SET GLOBAL group_replication_exit_state_action = @exit_state_action_saved; --source ../inc/group_replication_end.inc