Current Path : /home/usr.opt/mysql57/mysql-test/suite/ndb_rpl/t/ |
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/ndb_rpl/t/ndb_rpl_circular.test |
# The include statement below is a temp one for tests that are yet to #be ported to run with InnoDB, #but needs to be kept for tests that would need MyISAM in future. --source include/force_myisam_default.inc --source include/have_ndb.inc # set up circular replication --let $rpl_topology= 1->2->1 --source include/rpl_init.inc --let $rpl_connection_name= master --let $rpl_server_number= 1 --source include/rpl_connect.inc --let $rpl_connection_name= slave --let $rpl_server_number= 2 --source include/rpl_connect.inc # create the table on the "slave" --connection slave CREATE TABLE t1 (a int key, b int) ENGINE=ndb; #CREATE TABLE t2 (a int key, b int) ENGINE=ndb; sync_slave_with_master master; # now we should have a table on the master as well SHOW TABLES; # insert some values on the slave and master --connection master INSERT INTO t1 VALUES (1,2); # Give time to propagate + close epoch, to ensure deterministic Binlog contents --sleep 1 --connection slave INSERT INTO t1 VALUES (2,3); # ensure data has propagated both ways --connection slave sync_slave_with_master master; --sync_slave_with_master # connect to slave and ensure data it there. --connection slave SELECT * FROM t1 ORDER BY a; #SELECT * FROM t2 ORDER BY a; # Check slave has no errors and are running --source include/check_slave_no_error.inc --source include/check_slave_is_running.inc --echo Slave Binlog contains all ops as log_slave_updates is on show variables like 'server_id'; show variables like 'log_bin'; show variables like 'log_slave_updates'; --source include/show_binlog_events.inc source include/check_slave_is_running.inc; # connect to master and ensure data it there. --connection master SELECT * FROM t1 ORDER BY a; #SELECT * FROM t2 ORDER BY a; source include/check_slave_is_running.inc; --echo Master Binlog contains only Master ops as log_slave_updates is off show variables like 'server_id'; show variables like 'log_bin'; show variables like 'log_slave_updates'; --source include/show_binlog_events.inc # stop replication on "master" as not to replicate # shutdown circularly, eg drop table --connection master STOP SLAVE; # cleanup --connection master DROP TABLE t1; -- sync_slave_with_master # Test ndb_log_apply_status option --connection master start slave; create table t1 (a int primary key, b int) engine=ndb; show variables like '%log_orig%'; --echo 'Master' has only slave's serverid entry select server_id, log_name from mysql.ndb_apply_status order by server_id; set global ndb_log_apply_status=On; show variables like 'ndb_log_apply_status'; --connection slave --echo 'Slave' has only Master's serverid entry select server_id, log_name from mysql.ndb_apply_status order by server_id; --echo 'Slave' has following ndb_binlog_index entries select inserts, updates, deletes, schemaops, orig_server_id from mysql.ndb_binlog_index order by position; set global ndb_log_apply_status=On; show variables like 'ndb_log_apply_status'; --connection master stop slave; insert into t1 values (1,1); --sync_slave_with_master --connection slave --echo 'Slave' still has only Master's serverid entry select server_id, log_name from mysql.ndb_apply_status order by server_id; --disable_result_log --source include/wait_for_ndb_committed_to_binlog.inc --enable_result_log --echo 'Slave' has following ndb_binlog_index entries select inserts, updates, deletes, schemaops, orig_server_id from mysql.ndb_binlog_index order by position; --connection master --echo 'Master' still has only Slave's serverid entry select server_id, log_name from mysql.ndb_apply_status order by server_id; start slave; --connection slave --sync_slave_with_master master --connection master --echo 'Master' now has own serverid entry as well. select server_id, log_name from mysql.ndb_apply_status order by server_id; --connection slave --echo 'Slave' still only has 'Master''s serverid entry select server_id, log_name from mysql.ndb_apply_status order by server_id; --echo Now create event originating at Slave insert into t1 values (2,2); --sync_slave_with_master master --connection master --sync_slave_with_master slave --connection slave --echo 'Slave' now also has its own serverid entry select server_id, log_name from mysql.ndb_apply_status order by server_id; --connection master stop slave; set global ndb_log_apply_status=off; --connection slave set global ndb_log_apply_status=off; stop slave; drop table t1; --connection master drop table t1; --let $rpl_only_running_threads= 1 --source include/rpl_end.inc