diff options
author | unknown <aelkin/andrei@mysql1000.(none)> | 2008-02-20 23:18:01 +0200 |
---|---|---|
committer | unknown <aelkin/andrei@mysql1000.(none)> | 2008-02-20 23:18:01 +0200 |
commit | e19c8e2ebfdb5c2a50e71d4192681b8b4bd4efad (patch) | |
tree | 447e2f8a12f3ddd11a3e3a0b0c454e48f2a0c25a /mysql-test/suite/rpl/r/rpl_server_id1.result | |
parent | e05e6814fb2b48efccc9336252dc72f550a67169 (diff) | |
download | mariadb-git-e19c8e2ebfdb5c2a50e71d4192681b8b4bd4efad.tar.gz |
Bug #31316 Report server id clashes in SHOW SLAVE STATUS
"Server_IO_State" field
Critical error messages from get_master_version_and_clock() were written
only to the slave errorlog while Show slave status did not display any
incident happened.
Although the artifact was reported for a particular --replicate-same-server-id
related issue the fix refines all critical error reporting with
deploying rli->report().
The test for the bug covers only --replicate-same-server-id error reporting.
mysql-test/suite/rpl/r/rpl_server_id1.result:
new results reflecting changes
mysql-test/suite/rpl/t/rpl_server_id1.test:
Preserving the idea of the test unnecessary queries and the sleep are
eliminated.
In the end the slave must stop with the error displayable via $$$.
sql/slave.cc:
improving get_master_version_and_clock() code to report a critical incident
via rli->report() that takes care of bothe the error log and
the slave's status info placeholders.
A critical error that force the IO slave thread to terminate is handled
immediately (goto err).
Diffstat (limited to 'mysql-test/suite/rpl/r/rpl_server_id1.result')
-rw-r--r-- | mysql-test/suite/rpl/r/rpl_server_id1.result | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/mysql-test/suite/rpl/r/rpl_server_id1.result b/mysql-test/suite/rpl/r/rpl_server_id1.result index 9894910aaf6..6a5c86d84bd 100644 --- a/mysql-test/suite/rpl/r/rpl_server_id1.result +++ b/mysql-test/suite/rpl/r/rpl_server_id1.result @@ -4,10 +4,11 @@ reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; start slave; -create table t1 (n int); reset master; stop slave; change master to master_port=SLAVE_PORT; +start slave; +*** must be having the replicate-same-server-id IO thread error *** show slave status; Slave_IO_State Master_Host 127.0.0.1 @@ -20,15 +21,15 @@ Relay_Log_File slave-relay-bin.000001 Relay_Log_Pos 4 Relay_Master_Log_File Slave_IO_Running No -Slave_SQL_Running No +Slave_SQL_Running # Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table # Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table # -Last_Errno 0 -Last_Error +Last_Errno # +Last_Error # Skip_Counter 0 Exec_Master_Log_Pos 0 Relay_Log_Space 106 @@ -43,13 +44,7 @@ Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master NULL Master_SSL_Verify_Server_Cert No -Last_IO_Errno # -Last_IO_Error # -Last_SQL_Errno 0 -Last_SQL_Error -start slave; -insert into t1 values (1); -show status like "slave_running"; -Variable_name Value -Slave_running OFF -drop table t1; +Last_IO_Errno 1593 +Last_IO_Error Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it). +Last_SQL_Errno # +Last_SQL_Error # |