Current Path : /home/usr.opt/mysql57/mysql-test/suite/group_replication/r/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : /home/usr.opt/mysql57/mysql-test/suite/group_replication/r/gr_recovery_slave_commands.result |
include/group_replication.inc Warnings: Note #### Sending passwords in plain text without SSL/TLS is extremely insecure. Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information. [connection server1] # Bootstrap start GR on M1 and test commands for recovery channel # when MEMBER_STATE: ONLINE and recovery channel is ABSENT [connection server1] set session sql_log_bin=0; call mtr.add_suppression("Slave channel 'group_replication_recovery' does not exist.*"); set session sql_log_bin=1; include/start_and_bootstrap_group_replication.inc # CHM for 'group_replication_recovery' channel won't accept parameters other than # MASTER_USER and MASTER_PASSWORD CHANGE MASTER TO MASTER_HOST="localhost", MASTER_PORT=10 FOR CHANNEL "group_replication_recovery"; ERROR HY000: CHANGE MASTER with the given parameters cannot be performed on channel 'group_replication_recovery'. # ERROR when executing STOP SLAVE on GR recovery channel STOP SLAVE FOR CHANNEL 'group_replication_recovery'; ERROR HY000: Slave channel 'group_replication_recovery' does not exist. # ERROR when executing START SLAVE on GR recovery channel START SLAVE FOR CHANNEL 'group_replication_recovery'; ERROR HY000: Slave channel 'group_replication_recovery' does not exist. # ERROR when executing STOP SLAVE IO_THREAD on GR recovery channel STOP SLAVE IO_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: Slave channel 'group_replication_recovery' does not exist. # ERROR when executing START SLAVE IO_THREAD on GR recovery channel START SLAVE IO_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: Slave channel 'group_replication_recovery' does not exist. # ERROR when executing STOP SLAVE SQL_THREAD on GR recovery channel STOP SLAVE SQL_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: Slave channel 'group_replication_recovery' does not exist. # ERROR when executing START SLAVE SQL_THREAD on GR recovery channel START SLAVE SQL_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: Slave channel 'group_replication_recovery' does not exist. # 'Empty set' when executing SHOW SLAVE STATUS on GR recovery channel SHOW SLAVE STATUS FOR CHANNEL 'group_replication_recovery'; # ERROR when executing SHOW RELAYLOG EVENTS on GR recovery channel SHOW RELAYLOG EVENTS FOR CHANNEL 'group_replication_recovery'; ERROR HY000: Slave channel 'group_replication_recovery' does not exist. # ERROR when executing FLUSH RELAY LOGS on GR recovery channel FLUSH RELAY LOGS FOR CHANNEL 'group_replication_recovery'; ERROR HY000: Slave channel 'group_replication_recovery' does not exist. # ERROR when executing RESET SLAVE command on GR recovery channel RESET SLAVE FOR CHANNEL "group_replication_recovery"; ERROR HY000: Slave channel 'group_replication_recovery' does not exist. # ERROR when executing RESET SLAVE ALL command on GR recovery channel RESET SLAVE ALL FOR CHANNEL "group_replication_recovery"; ERROR HY000: Slave channel 'group_replication_recovery' does not exist. # Add some data for recovery on M1. Start GR on M2. CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY) ENGINE=InnoDB; INSERT INTO t1 VALUES (1); [connection server2] set session sql_log_bin=0; call mtr.add_suppression("Transaction cannot be executed while Group Replication is recovering.*"); call mtr.add_suppression("Run function 'before_commit' in plugin 'group_replication' failed"); set session sql_log_bin=1; CHANGE MASTER TO MASTER_USER="root" FOR CHANNEL "group_replication_recovery"; include/start_group_replication.inc # Test commands for recovery channel when MEMBER_STATE: ONLINE and # recovery channel is PRESENT but INACTIVE. # STOP SLAVE is blocked on GR recovery channel STOP SLAVE FOR CHANNEL "group_replication_recovery"; ERROR HY000: STOP SLAVE FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # START SLAVE is blocked on GR recovery channel START SLAVE FOR CHANNEL 'group_replication_recovery'; ERROR HY000: START SLAVE FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # STOP SLAVE IO_THREAD is blocked on GR recovery channel STOP SLAVE IO_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: STOP SLAVE IO_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # START SLAVE IO_THREAD is blocked on GR recovery channel START SLAVE IO_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: START SLAVE IO_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # STOP SLAVE SQL_THREAD is blocked on GR recovery channel STOP SLAVE SQL_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: STOP SLAVE SQL_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # START SLAVE SQL_THREAD is blocked on GR recovery channel START SLAVE SQL_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: START SLAVE SQL_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # SHOW SLAVE STATUS - check that recovery channel is inactive include/assert.inc [recovery channel is inactive] # SHOW RELAYLOG EVENTS - check that relaylogs are created include/assert.inc [Relay logs are created] # SUCCESS when executing FLUSH RELAY LOGS on GR recovery channel FLUSH RELAY LOGS FOR CHANNEL 'group_replication_recovery'; # SUCCESS when executing RESET SLAVE on GR recovery channel RESET SLAVE FOR CHANNEL "group_replication_recovery"; # Execute RESET SLAVE ALL FOR CHANNEL to delete the recovery channel # and related files RESET SLAVE ALL FOR CHANNEL "group_replication_recovery"; # Stop GR on M2. Add data on M1. Lock table on M2 to block recovery. # Start GR on M2. [connection server2] include/stop_group_replication.inc [connection server1] INSERT INTO t1 VALUES (2); INSERT INTO t1 VALUES (3); [connection server_2] LOCK TABLE t1 READ; [connection server2] CHANGE MASTER TO MASTER_USER="root" FOR CHANNEL "group_replication_recovery"; # Ensure that M2 is blocked in recovery stage so channel exists include/start_group_replication.inc # Now when M2 is in RECOVERING state, test commands for recovery channel # when MEMBER_STATE: RECOVERING and recovery channel is ACTIVE. # STOP SLAVE is blocked on GR recovery channel STOP SLAVE FOR CHANNEL "group_replication_recovery"; ERROR HY000: STOP SLAVE FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # START SLAVE is blocked on GR recovery channel START SLAVE FOR CHANNEL 'group_replication_recovery'; ERROR HY000: START SLAVE FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # STOP SLAVE IO_THREAD is blocked on GR recovery channel STOP SLAVE IO_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: STOP SLAVE IO_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # START SLAVE IO_THREAD is blocked on GR recovery channel START SLAVE IO_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: START SLAVE IO_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # START SLAVE IO_THREAD with UNTIL option is blocked on GR recovery channel START SLAVE IO_THREAD UNTIL MASTER_LOG_FILE = 'server-binary-log.000001', MASTER_LOG_POS = 754 FOR CHANNEL 'group_replication_recovery'; ERROR HY000: START SLAVE IO_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # STOP SLAVE SQL_THREAD is blocked on GR recovery channel STOP SLAVE SQL_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: STOP SLAVE SQL_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # START SLAVE SQL_THREAD is blocked on GR recovery channel START SLAVE SQL_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: START SLAVE SQL_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # START SLAVE SQL_THREAD with UNTIL option is blocked on GR recovery channel START SLAVE SQL_THREAD UNTIL SQL_AFTER_GTIDS='11111111-1111-1111-1111-111111111111:1-23' FOR CHANNEL 'group_replication_recovery'; ERROR HY000: START SLAVE SQL_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # START SLAVE SQL_THREAD with UNTIL option is blocked on GR recovery channel START SLAVE SQL_THREAD UNTIL RELAY_LOG_FILE = 'server-relay-log-group_replication_recovery.000001', RELAY_LOG_POS = 854 FOR CHANNEL 'group_replication_recovery'; ERROR HY000: START SLAVE SQL_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # SHOW SLAVE STATUS - check that recovery channel is active include/assert.inc [recovery channel is active] # SHOW RELAYLOG EVENTS - Relay log files should exists include/assert.inc [Relay log name should not be empty as the command successfully executed.] # ERROR when executing FLUSH RELAY LOGS on GR recovery channel FLUSH RELAY LOGS FOR CHANNEL 'group_replication_recovery'; ERROR HY000: Error on observer while running replication hook 'before_commit'. # RESET SLAVE command is blocked only when recovery channel is active. RESET SLAVE FOR CHANNEL "group_replication_recovery"; ERROR HY000: This operation cannot be performed with running replication threads; run STOP SLAVE FOR CHANNEL 'group_replication_recovery' first # RESET SLAVE [ALL] command is blocked only when recovery channel is active. RESET SLAVE ALL FOR CHANNEL "group_replication_recovery"; ERROR HY000: This operation cannot be performed with running replication threads; run STOP SLAVE FOR CHANNEL 'group_replication_recovery' first # Unlock tables on M2 and drop table t1 on M1. Stop GR on M2. Test # for recovery channel when MEMBER_STATE: OFFLINE and recovery channel # is PRESENT but INACTIVE. [connection server_2] UNLOCK TABLES; [connection server1] DROP TABLE t1; include/rpl_sync.inc [connection server2] include/stop_group_replication.inc # STOP SLAVE is blocked on GR recovery channel STOP SLAVE FOR CHANNEL "group_replication_recovery"; ERROR HY000: STOP SLAVE FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # START SLAVE is blocked on GR recovery channel START SLAVE FOR CHANNEL 'group_replication_recovery'; ERROR HY000: START SLAVE FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # STOP SLAVE IO_THREAD is blocked on GR recovery channel STOP SLAVE IO_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: STOP SLAVE IO_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # START SLAVE IO_THREAD is blocked on GR recovery channel START SLAVE IO_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: START SLAVE IO_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # STOP SLAVE SQL_THREAD is blocked on GR recovery channel STOP SLAVE SQL_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: STOP SLAVE SQL_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # START SLAVE SQL_THREAD is blocked on GR recovery channel START SLAVE SQL_THREAD FOR CHANNEL 'group_replication_recovery'; ERROR HY000: START SLAVE SQL_THREAD FOR CHANNEL cannot be performed on channel 'group_replication_recovery'. # SHOW SLAVE STATUS - check that recovery channel is inactive include/assert.inc [recovery channel is inactive] # SHOW RELAYLOG EVENTS - check that relaylogs are not deleted include/assert.inc [Relay logs are not deleted] # Execute RESET SLAVE ALL FOR CHANNEL to delete the recovery channel # and related files RESET SLAVE ALL FOR CHANNEL "group_replication_recovery"; # ERROR when executing RESET SLAVE on GR recovery channel RESET SLAVE FOR CHANNEL "group_replication_recovery"; ERROR HY000: Slave channel 'group_replication_recovery' does not exist. # ERROR when executing FLUSH RELAY LOGS on GR recovery channel FLUSH RELAY LOGS FOR CHANNEL 'group_replication_recovery'; ERROR HY000: Slave channel 'group_replication_recovery' does not exist. include/group_replication_end.inc