Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.0.2
-
None
-
None
Description
It's quite possibly another wrong configuration on my side, but I really don't know what I might have done differently here.
I start 3 servers, all with different server-ids and domain-ids.
Initially I have replication from server 1 to server 3. It works all right.
I create another slave connection on server 3, to server 2, and set it to use GTID.
On the second slave start, it aborts with 'Error: connecting slave requested to start from GTID 1-1-1, which is not in the master's binlog'.
Surely the second master binlog does not have GTID 1-1-1, since it has domain ID 2. And I mustn't use the same domain ID on different masters in multi-source setup, right?
Test case:
--let $rpl_topology= 1->3
|
--source include/rpl_init.inc
|
|
--connection server_1
|
create table t1 (i int); |
|
--connection server_2
|
create table t2 (i int); |
|
--connection server_3
|
|
set default_master_connection = 'm2'; |
eval change master to master_host='127.0.0.1', master_port=$SERVER_MYPORT_2, master_user='root', master_use_gtid=1; |
--source include/start_slave.inc
|
|
--connection server_2
|
insert into t2 values (1); |
--save_master_pos
|
|
--connection server_3
|
--sync_with_master 0,'m2'
|
|
--source include/rpl_end.inc
|
cnf file:
!include suite/rpl/rpl_1slave_base.cnf
|
!include include/default_client.cnf
|
|
[mysqld.1]
|
log-slave-updates
|
gtid-domain-id=1
|
|
[mysqld.2]
|
log-slave-updates
|
gtid-domain-id=2
|
|
[mysqld.3]
|
log-slave-updates
|
gtid-domain-id=3
|
|
[ENV]
|
SERVER_MYPORT_3= @mysqld.3.port
|
SERVER_MYSOCK_3= @mysqld.3.socket
|
All slaves status:
*************************** 1. row ***************************
|
Connection_name:
|
Slave_SQL_State: Slave has read all relay log; waiting for the slave I/O thread to update it
|
Slave_IO_State: Waiting for master to send event
|
Master_Host: 127.0.0.1
|
Master_User: root
|
Master_Port: 16000
|
Connect_Retry: 1
|
Master_Log_File: master-bin.000001
|
Read_Master_Log_Pos: 440
|
Relay_Log_File: mysqld-relay-bin.000002
|
Relay_Log_Pos: 728
|
Relay_Master_Log_File: master-bin.000001
|
Slave_IO_Running: Yes
|
Slave_SQL_Running: Yes
|
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:
|
Skip_Counter: 0
|
Exec_Master_Log_Pos: 440
|
Relay_Log_Space: 1026
|
Until_Condition: None
|
Until_Log_File:
|
Until_Log_Pos: 0
|
Master_SSL_Allowed: No
|
Master_SSL_CA_File:
|
Master_SSL_CA_Path:
|
Master_SSL_Cert:
|
Master_SSL_Cipher:
|
Master_SSL_Key:
|
Seconds_Behind_Master: 0
|
Master_SSL_Verify_Server_Cert: No
|
Last_IO_Errno: 0
|
Last_IO_Error:
|
Last_SQL_Errno: 0
|
Last_SQL_Error:
|
Replicate_Ignore_Server_Ids:
|
Master_Server_Id: 1
|
Using_Gtid: 0
|
Retried_transactions: 0
|
Max_relay_log_size: 1073741824
|
Executed_log_entries: 9
|
Slave_received_heartbeats: 0
|
Slave_heartbeat_period: 60.000
|
Gtid_Pos: 1-1-1
|
*************************** 2. row ***************************
|
Connection_name: m2
|
Slave_SQL_State: Slave has read all relay log; waiting for the slave I/O thread to update it
|
Slave_IO_State:
|
Master_Host: 127.0.0.1
|
Master_User: root
|
Master_Port: 16001
|
Connect_Retry: 60
|
Master_Log_File:
|
Read_Master_Log_Pos: 0
|
Relay_Log_File: mysqld-relay-bin-m2.000001
|
Relay_Log_Pos: 4
|
Relay_Master_Log_File:
|
Slave_IO_Running: No
|
Slave_SQL_Running: Yes
|
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:
|
Skip_Counter: 0
|
Exec_Master_Log_Pos: 0
|
Relay_Log_Space: 248
|
Until_Condition: None
|
Until_Log_File:
|
Until_Log_Pos: 0
|
Master_SSL_Allowed: No
|
Master_SSL_CA_File:
|
Master_SSL_CA_Path:
|
Master_SSL_Cert:
|
Master_SSL_Cipher:
|
Master_SSL_Key:
|
Seconds_Behind_Master: NULL
|
Master_SSL_Verify_Server_Cert: No
|
Last_IO_Errno: 1236
|
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Error: connecting slave requested to start from GTID 1-1-1, which is not in the master's binlog'
|
Last_SQL_Errno: 0
|
Last_SQL_Error:
|
Replicate_Ignore_Server_Ids:
|
Master_Server_Id: 2
|
Using_Gtid: 1
|
Retried_transactions: 0
|
Max_relay_log_size: 1073741824
|
Executed_log_entries: 1
|
Slave_received_heartbeats: 0
|
Slave_heartbeat_period: 60.000
|
Gtid_Pos: 1-1-1
|
2 rows in set (0.01 sec)
|
bzr version-info
revision-id: knielsen@knielsen-hq.org-20130503092729-gedp152b19k5wdnj
|
revno: 3626
|
branch-nick: 10.0-base
|
Attachments
Issue Links
- relates to
-
MDEV-26 Global transaction ID
- Closed