include/rpl_init.inc [topology=1->2->1]
include/rpl_connect.inc [creating master]
include/rpl_connect.inc [creating slave]
CREATE TABLE t1 (a int key, b int) ENGINE=ndb;
SHOW TABLES;
Tables_in_test
t1
INSERT INTO t1 VALUES (1,2);
INSERT INTO t1 VALUES (2,3);
SELECT * FROM t1 ORDER BY a;
a	b
1	2
2	3
show slave status;;
Slave_IO_State	#
Master_Host	127.0.0.1
Master_User	root
Master_Port	#
Connect_Retry	1
Master_Log_File	master-bin.000001
Read_Master_Log_Pos	#
Relay_Log_File	#
Relay_Log_Pos	#
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	#
Relay_Log_Space	#
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	#
Master_SSL_Verify_Server_Cert	No
Last_IO_Errno	#
Last_IO_Error	#
Last_SQL_Errno	0
Last_SQL_Error	
Replicate_Ignore_Server_Ids	
Master_Server_Id	1
Master_Bind	
Slave Binlog contains all ops as log_slave_updates is on
show variables like 'server_id';
Variable_name	Value
server_id	2
show variables like 'log_bin';
Variable_name	Value
log_bin	ON
show variables like 'log_slave_updates';
Variable_name	Value
log_slave_updates	ON
show binlog events from <binlog_start>;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
slave-bin.000001	#	Query	2	#	use `test`; CREATE TABLE t1 (a int key, b int) ENGINE=ndb
slave-bin.000001	#	Query	2	#	BEGIN
slave-bin.000001	#	Table_map	2	#	table_id: # (test.t1)
slave-bin.000001	#	Table_map	2	#	table_id: # (mysql.ndb_apply_status)
slave-bin.000001	#	Write_rows	2	#	table_id: #
slave-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
slave-bin.000001	#	Query	2	#	COMMIT
slave-bin.000001	#	Query	2	#	BEGIN
slave-bin.000001	#	Table_map	2	#	table_id: # (test.t1)
slave-bin.000001	#	Table_map	2	#	table_id: # (mysql.ndb_apply_status)
slave-bin.000001	#	Write_rows	2	#	table_id: #
slave-bin.000001	#	Write_rows	2	#	table_id: # flags: STMT_END_F
slave-bin.000001	#	Query	2	#	COMMIT
include/check_slave_is_running.inc
SELECT * FROM t1 ORDER BY a;
a	b
1	2
2	3
include/check_slave_is_running.inc
Master Binlog contains only Master ops as log_slave_updates is off
show variables like 'server_id';
Variable_name	Value
server_id	1
show variables like 'log_bin';
Variable_name	Value
log_bin	ON
show variables like 'log_slave_updates';
Variable_name	Value
log_slave_updates	OFF
show binlog events from <binlog_start>;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	#	Query	1	#	BEGIN
master-bin.000001	#	Table_map	1	#	table_id: # (test.t1)
master-bin.000001	#	Table_map	1	#	table_id: # (mysql.ndb_apply_status)
master-bin.000001	#	Write_rows	1	#	table_id: #
master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
master-bin.000001	#	Query	1	#	COMMIT
STOP SLAVE;
DROP TABLE t1;
start slave;
create table t1 (a int primary key, b int) engine=ndb;
show variables like '%log_orig%';
Variable_name	Value
ndb_log_orig	ON
'Master' has only slave's serverid entry 
select server_id, log_name from mysql.ndb_apply_status order by server_id;
server_id	log_name
2	slave-bin.000001
set global ndb_log_apply_status=On;
show variables like 'ndb_log_apply_status';
Variable_name	Value
ndb_log_apply_status	ON
'Slave' has only Master's serverid entry
select server_id, log_name from mysql.ndb_apply_status order by server_id;
server_id	log_name
1	master-bin.000001
'Slave' has following ndb_binlog_index entries
select inserts, updates, deletes, schemaops, orig_server_id from mysql.ndb_binlog_index order by position;
inserts	updates	deletes	schemaops	orig_server_id
1	0	0	0	1
1	0	0	0	2
set global ndb_log_apply_status=On;
show variables like 'ndb_log_apply_status';
Variable_name	Value
ndb_log_apply_status	ON
stop slave;
insert into t1 values (1,1);
'Slave' still has only Master's serverid entry
select server_id, log_name from mysql.ndb_apply_status order by server_id;
server_id	log_name
1	master-bin.000001
show binlog events;
'Slave' has following ndb_binlog_index entries
select inserts, updates, deletes, schemaops, orig_server_id from mysql.ndb_binlog_index order by position;
inserts	updates	deletes	schemaops	orig_server_id
1	0	0	0	1
1	0	0	0	2
0	0	0	0	2
1	0	0	0	1
'Master' still has only Slave's serverid entry
select server_id, log_name from mysql.ndb_apply_status order by server_id;
server_id	log_name
2	slave-bin.000001
start slave;
'Master' now has own serverid entry as well.
select server_id, log_name from mysql.ndb_apply_status order by server_id;
server_id	log_name
1	master-bin.000001
2	slave-bin.000001
'Slave' still only has 'Master''s serverid entry
select server_id, log_name from mysql.ndb_apply_status order by server_id;
server_id	log_name
1	master-bin.000001
Now create event originating at Slave
insert into t1 values (2,2);
'Slave' now also has its own serverid entry
select server_id, log_name from mysql.ndb_apply_status order by server_id;
server_id	log_name
1	master-bin.000001
2	slave-bin.000001
stop slave;
set global ndb_log_apply_status=off;
set global ndb_log_apply_status=off;
stop slave;
drop table t1;
drop table t1;
include/rpl_end.inc
