[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.133.153.15: ~ $
#
# Include file for testing ndb$epoch conflict function
#
#

create table `test`.`t1$EX`
  (server_id int unsigned,
   master_server_id int unsigned,
   master_epoch bigint unsigned,
   count int unsigned,
   a int not null,
   d int,
   primary key(server_id, master_server_id, master_epoch, count)) engine ndb;


--echo Create table
create table test.t1(a int primary key, b varchar(255)) engine = ndb;

--echo Create other table
create table test.t2(a int primary key, b int) engine = ndb;

--source suite/ndb_rpl/t/ndb_conflict_info_init.inc

--echo ----------------------------------
--echo Test 1 : Basic two-way replication
--echo ----------------------------------

insert into test.t1 values (1, "Metropole");

--echo -- Give time for a new epoch on the Master
# This is 3 seconds to be > GCP_Save time, so that the next epoch
# will be visibly greater than the one inserted above
# (e.g. if we have 4 bits of extra GCI resolution, the max
#  representable GCI is XXX/15.  If we insert at XXX/16, we
#  need to wait until we get to XXX+1/0 at least, to avoid
#  the Primary Master undoing the update)
#
--sleep 3

--echo -- Insert something to ensure the new epoch is noticed
#
# Required in case our initial insert's epoch gets rounded up to
# 0xffffffff, in which case 'later' updates from the slave will
# be in conflict until some newer gci_hi is the MaxReplicatedEpoch
#
replace into test.t2 values (2, 1);
--sync_slave_with_master slave
--connection slave
--echo -- Flushed to slave
select * from test.t1 order by a;
--disable_query_log
FLUSH LOGS;
--enable_query_log
--sync_slave_with_master master
--connection master
--echo -- Flushed back to Master
select * from test.t1 order by a;
--connection slave

--echo -- Now update data on slave
update test.t1 set b="Favorit" where a=1;

--sync_slave_with_master master

--connection master
--echo -- Now check data on master
select * from test.t1 order by a;

--source suite/ndb_rpl/t/ndb_conflict_info.inc

--connection slave
--echo -- Now perform multiple consecutive updates on the slave

update test.t1 set b="Elephant house" where a=1;
update test.t1 set b="Beach house" where a=1;

select * from test.t1 order by a;

--sync_slave_with_master master
--connection master
--echo -- Now check they've applied on the master
select * from test.t1 order by a;

--source suite/ndb_rpl/t/ndb_conflict_info.inc

--echo --------------------------------------------
--echo Test 2 : Normal Insert from Secondary Master
--echo --------------------------------------------

--connection slave
--echo -- Insert a new row on the Slave
insert into test.t1 values (2, "Forrest");

--sync_slave_with_master master
--connection master
--echo -- Check it exists on the Master
select * from test.t1 order by a;

--connection slave
--echo -- Update from the slave
update test.t1 set b="Reds" where a=2;

--sync_slave_with_master master
--connection master
select * from test.t1 order by a;

--connection slave
delete from test.t1 where a=2;

--sync_slave_with_master master
--connection master
select * from test.t1 order by a;

--source suite/ndb_rpl/t/ndb_conflict_info.inc

--echo -------------------------------
--echo Test 3 : Insert-Insert conflict
--echo -------------------------------

--connection slave
stop slave;
--connection master

--echo -- Insert a row on the Primary Master
insert into test.t1 values (2, "Loopy Lornas");

--connection slave
--echo -- Insert a row on the secondary Master
insert into test.t1 values (2, "Cloisters");

--sync_slave_with_master master
--connection master
--echo -- Examine data on Primary Master (should be unaffected)
select * from test.t1 order by a;

--echo -- Examine conflict indicators on Primary Master
--source suite/ndb_rpl/t/ndb_conflict_info.inc

--echo -- Examine data on isolated secondary Master (should be as-set)
--connection slave
select * from test.t1 order by a;

--echo -- Restart secondary Masters slave
start slave;

--connection master
--sync_slave_with_master slave
--connection slave

--echo -- Reexamine secondary Master's data (should be same as Primary Masters)
select * from test.t1 order by a;

--echo -------------------------------
--echo Test 4 : Update-Update conflict
--echo -------------------------------

--connection slave
--echo -- Stop replication to secondary master
stop slave;

--connection master
--echo -- Update row on Primary Master

update test.t1 set b="Peters Yard" where a=2;

--echo -- Show data on Primary Master

select * from test.t1 order by a;
--source suite/ndb_rpl/t/ndb_conflict_info.inc

--connection slave

--echo -- Update row on Secondary Master
update test.t1 set b="Toast" where a=2;

--sync_slave_with_master master

--echo -- Examine data on Primary Master - should be unaffected

select * from test.t1 order by a;
--source suite/ndb_rpl/t/ndb_conflict_info.inc

--connection slave
--echo -- Check data on secondary - should be as set

select * from test.t1 order by a;

--echo -- Now restart slave, will re-align row
start slave;

--connection master
--sync_slave_with_master slave

--connection slave
--echo -- Check that Secondary is re-aligned

select * from test.t1 order by a;


--echo -------------------------------
--echo Test 5 : Update-Delete conflict
--echo -------------------------------

--connection slave
--echo -- Stop Secondary slave
stop slave;

--connection master
--echo -- Update on Primary Master

update test.t1 set b="Pear tree" where a = 2;

--connection slave
--echo -- Delete on Secondary Master

delete from test.t1 where a = 2;

--sync_slave_with_master master

--echo -- Examine data on Primary Master, should be unaffected

select * from test.t1 order by a;
--source suite/ndb_rpl/t/ndb_conflict_info.inc

--echo -- Examine data on Secondary Master before slave restart, still missing
--connection slave
select * from test.t1 order by a;

--echo -- Restart Secondary Master slave
start slave;

--connection master
--sync_slave_with_master slave
--connection slave

--echo -- Examine data on Secondary Master after slave restart, aligned with Master
select * from test.t1 order by a;

--echo -------------------------------
--echo Test 6 : Delete-Update conflict
--echo -------------------------------

--connection slave
--echo -- Stop Secondary slave
stop slave;

--connection master
--echo -- Delete on Primary Master

delete from test.t1 where a=2;

--connection slave
--echo -- Update on Secondary Master

update test.t1 set b="Black pig" where a=2;

--sync_slave_with_master master

--echo -- Examine data on Primary Master, should be unaffected (no row)

select * from test.t1 order by a;
--source suite/ndb_rpl/t/ndb_conflict_info.inc

--echo -- Examine data on Secondary Master before slave restart, should be as inserted
--connection slave
select * from test.t1 order by a;

--echo -- Restart Secondary Master slave
start slave;

--connection master
--sync_slave_with_master slave
--connection slave

--echo -- Examine data on Secondary Master after slave restart, aligned with Master (deleted)
select * from test.t1 order by a;

--echo -------------------------------
--echo Test 7 : Delete-Delete conflict
--echo -------------------------------

--connection slave
--echo -- Stop Secondary slave
stop slave;

--connection master
--echo -- Delete on Primary Master

delete from test.t1 where a=1;

--connection slave
--echo -- Delete on Secondary Master

delete from test.t1 where a=1;

--sync_slave_with_master master

--echo -- Examine data on Primary Master, no row

select * from test.t1 order by a;
--source suite/ndb_rpl/t/ndb_conflict_info.inc

--echo -- Examine data on Secondary Master before slave restart, no row
--connection slave
select * from test.t1 order by a;

--echo -- Restart Secondary Master slave
start slave;

--connection master
--sync_slave_with_master slave
--connection slave

--echo -- Examine data on Secondary Master after slave restart, no row
select * from test.t1 order by a;


--echo ------------------------------------------------
--echo Test 8 : Delete-Delete, Insert conflict exposure
--echo ------------------------------------------------
# This occurs as the Primary Master's Delete is still
# in-flight when the Secondary Master's Insert arrives,
# but as there is no knowledge of this at the Primary
# Master, it accepts the Insert.
#

--connection slave
--echo -- Insert a row on Secondary Master
insert into test.t1 values (3, "Espy");
--sync_slave_with_master master

--connection master
--echo -- Check it's present on Primary Master
select * from test.t1 order by a;

--echo -- Stop replication in both directions
stop slave;

--connection slave
stop slave;

--echo -- Delete row from both clusters
delete from test.t1 where a=3;

--connection master
delete from test.t1 where a=3;

--echo -- Follow up with Insert from Secondary master
--connection slave

insert into test.t1 values (3, "Dalriada");

--echo -- Restart replication in both directions
start slave;

--connection master
start slave;

--sync_slave_with_master slave
--connection slave
--sync_slave_with_master master

--connection slave
--echo -- Check data on both sites - diverged
--echo -- Secondary master :
select * from test.t1 order by a;
--echo -- Primary master :
--connection master
select * from test.t1 order by a;

--echo --Remove extra row
delete from test.t1 where a=3;

--echo -- Note that Delete-Delete conflict detected below
--source suite/ndb_rpl/t/ndb_conflict_info.inc

--echo ------------------------------------------------
--echo Test 9 : Insert, Insert-Update-Delete conflict
--echo ------------------------------------------------

--connection slave
--echo -- Stop replication on Secondary Master
stop slave;

--connection master
--echo -- Insert row on Primary Master
insert into test.t1 values (4, "Haymarket");

--connection slave
--echo -- Insert row on Secondary Master
insert into test.t1 values (4, "Outhouse");
--echo -- Update row on Secondary Master
update test.t1 set b="Mathers" where a = 4;
--echo -- Delete row on Secondary Master
delete from test.t1 where a=4;

--echo -- Examine data (none) on Secondary Master
select * from test.t1 order by a;

--sync_slave_with_master master
--connection master
--echo -- Examine data on Primary Master, should be unaffected

select * from test.t1 order by a;
--source suite/ndb_rpl/t/ndb_conflict_info.inc

--connection slave
--echo -- Examine data on Secondary Master (none)
select * from test.t1 order by a;

--echo -- Restart Secondary Master's slave
start slave;

--connection master
--sync_slave_with_master slave
--connection slave
--echo -- Check data on Secondary Master, should be same as Primary Master
select * from test.t1;

--echo ------------------------------------------------
--echo Test 10 : Update, Delete-Insert-Update conflict
--echo ------------------------------------------------
--connection slave
--echo -- Stop replication on Secondary Master
stop slave;

--connection master
--echo -- Update row on Primary Master
update test.t1 set b="Blind poet" where a=4;

--connection slave
--echo -- Delete row on Secondary Master
delete from test.t1 where a=4;

--echo -- Insert row on Secondary Master
insert into test.t1 values (4, "Drouthy Neebors");

--echo -- Update row on Secondary Master
update test.t1 set b="The Tankard" where a=4;

--sync_slave_with_master master

--connection master

--echo -- Check data on Primary Master, should be unaffected
select * from test.t1 order by a;
--source suite/ndb_rpl/t/ndb_conflict_info.inc

--connection slave
--echo -- Check data on Secondary Master, as set

select * from test.t1 order by a;

--echo -- Restart Secondary Master slave
start slave;

--connection master
--sync_slave_with_master slave
--connection slave

--echo -- Check data on Secondary Master - should be as Primary
select * from test.t1 order by a;

--sync_slave_with_master master

--echo ------------------------------------------------------------------------
--echo Test 11 : Test Secondary insert-update-delete accepted
--echo ------------------------------------------------------------------------
--connection slave
--echo Insert row on Secondary
insert into test.t1 values (5, "Minders");
--echo Update row on Secondary
update test.t1 set b="Southsider" where a=5;
--echo Delete row on Secondary
delete from test.t1 where a=5;

--sync_slave_with_master master

--connection master
--echo Check data on Primary, should be none.  No new conflicts
select * from test.t1 order by a;
--source suite/ndb_rpl/t/ndb_conflict_info.inc

--connection master
--source suite/ndb_rpl/t/ndb_conflict_info.inc

drop table test.t1;
drop table test.t2;
drop table test.t1$EX;

--sync_slave_with_master slave

--connection master

Filemanager

Name Type Size Permission Actions
disabled.def File 688 B 0644
ndb_apply_status.frm File 8.51 KB 0644
ndb_conflict_info.inc File 1013 B 0644
ndb_conflict_info_init.inc File 692 B 0644
ndb_rpl_2innodb-master.opt File 32 B 0644
ndb_rpl_2innodb-slave.opt File 56 B 0644
ndb_rpl_2innodb.test File 1.63 KB 0644
ndb_rpl_2multi_basic.inc File 3.42 KB 0644
ndb_rpl_2multi_eng.inc File 10.33 KB 0644
ndb_rpl_2myisam-master.opt File 25 B 0644
ndb_rpl_2myisam-slave.opt File 47 B 0644
ndb_rpl_2myisam.test File 1.6 KB 0644
ndb_rpl_2ndb-slave.opt File 58 B 0644
ndb_rpl_2ndb.test File 648 B 0644
ndb_rpl_2other-slave.opt File 54 B 0644
ndb_rpl_2other.test File 2.18 KB 0644
ndb_rpl_add_column.test File 3.56 KB 0644
ndb_rpl_apply_status-master.opt File 28 B 0644
ndb_rpl_apply_status.test File 1.29 KB 0644
ndb_rpl_auto_inc.test File 3.98 KB 0644
ndb_rpl_bank.test File 6.47 KB 0644
ndb_rpl_basic.test File 11.29 KB 0644
ndb_rpl_binlog_format_errors.test File 3.26 KB 0644
ndb_rpl_bitfield.test File 7.9 KB 0644
ndb_rpl_blob.test File 3.91 KB 0644
ndb_rpl_break_3_chain.cnf File 1.71 KB 0644
ndb_rpl_break_3_chain.test File 3.53 KB 0644
ndb_rpl_bug22045.test File 2.2 KB 0644
ndb_rpl_check_for_mixed.test File 804 B 0644
ndb_rpl_circular.test File 4.21 KB 0644
ndb_rpl_circular_2ch.cnf File 878 B 0644
ndb_rpl_circular_2ch.test File 4.21 KB 0644
ndb_rpl_circular_2ch_rep_status.cnf File 183 B 0644
ndb_rpl_circular_2ch_rep_status.test File 9.01 KB 0644
ndb_rpl_circular_simplex.test File 2.22 KB 0644
ndb_rpl_conflict.test File 9.99 KB 0644
ndb_rpl_conflict_1.inc File 5.15 KB 0644
ndb_rpl_conflict_epoch.cnf File 561 B 0644
ndb_rpl_conflict_epoch.test File 6.86 KB 0644
ndb_rpl_conflict_epoch_1.inc File 12.36 KB 0644
ndb_rpl_conflict_max-master.opt File 28 B 0644
ndb_rpl_conflict_max.test File 2.83 KB 0644
ndb_rpl_conflict_max_delete_win-master.opt File 28 B 0644
ndb_rpl_conflict_max_delete_win.test File 2.86 KB 0644
ndb_rpl_conflict_old-master.opt File 28 B 0644
ndb_rpl_conflict_old.test File 2.83 KB 0644
ndb_rpl_ctype_ucs2_def-master.opt File 70 B 0644
ndb_rpl_ctype_ucs2_def.test File 1.13 KB 0644
ndb_rpl_dd_advance.test File 10.04 KB 0644
ndb_rpl_dd_basic.test File 1.38 KB 0644
ndb_rpl_dd_partitions-master.opt File 11 B 0644
ndb_rpl_dd_partitions-slave.opt File 11 B 0644
ndb_rpl_dd_partitions.test File 8.53 KB 0644
ndb_rpl_do_db-slave.opt File 26 B 0644
ndb_rpl_do_db.test File 1.52 KB 0644
ndb_rpl_do_table-slave.opt File 29 B 0644
ndb_rpl_do_table.test File 1.21 KB 0644
ndb_rpl_empty_epoch.test File 934 B 0644
ndb_rpl_gap_event-master.opt File 24 B 0644
ndb_rpl_gap_event.test File 1.52 KB 0644
ndb_rpl_get_binlog_events.inc File 1.09 KB 0644
ndb_rpl_idempotent.test File 2.95 KB 0644
ndb_rpl_ignore_db-master.opt File 25 B 0644
ndb_rpl_ignore_db.test File 1.07 KB 0644
ndb_rpl_init_rep_status.test File 2.95 KB 0644
ndb_rpl_innodb2ndb-master.opt File 9 B 0644
ndb_rpl_innodb2ndb-slave.opt File 42 B 0644
ndb_rpl_innodb2ndb.test File 714 B 0644
ndb_rpl_innodb_trans-slave.opt File 34 B 0644
ndb_rpl_innodb_trans.test File 1.54 KB 0644
ndb_rpl_load.test File 2.34 KB 0644
ndb_rpl_logging.test File 3.76 KB 0644
ndb_rpl_mix_eng_trans-master.opt File 9 B 0644
ndb_rpl_mix_eng_trans-slave.opt File 9 B 0644
ndb_rpl_mix_eng_trans.test File 8.84 KB 0644
ndb_rpl_mix_innodb-master.opt File 41 B 0644
ndb_rpl_mix_innodb.test File 533 B 0644
ndb_rpl_mixed_tables-master.opt File 22 B 0644
ndb_rpl_mixed_tables-slave.opt File 70 B 0644
ndb_rpl_mixed_tables.test File 8.35 KB 0644
ndb_rpl_multi.test File 2.68 KB 0644
ndb_rpl_multi_binlog_update.cnf File 1.85 KB 0644
ndb_rpl_multi_binlog_update.inc File 6.78 KB 0644
ndb_rpl_multi_update2-slave.opt File 42 B 0644
ndb_rpl_myisam2ndb-slave.opt File 42 B 0644
ndb_rpl_myisam2ndb.test File 672 B 0644
ndb_rpl_ndbapi_multi.test File 614 B 0644
ndb_rpl_relayrotate-slave.opt File 57 B 0644
ndb_rpl_rep_error.test File 2.29 KB 0644
ndb_rpl_rep_ignore-slave.opt File 63 B 0644
ndb_rpl_rep_ignore.test File 1.58 KB 0644
ndb_rpl_skip_gap_event-slave.opt File 24 B 0644
ndb_rpl_skip_gap_event.test File 1.65 KB 0644
ndb_rpl_slave_lsu.cnf File 57 B 0644
ndb_rpl_slave_lsu.test File 5.66 KB 0644
ndb_rpl_slave_lsu_anyval.cnf File 176 B 0644
ndb_rpl_slave_lsu_anyval.test File 2.25 KB 0644
ndb_rpl_slave_restart.test File 2.87 KB 0644
ndb_rpl_stm_innodb-master.opt File 41 B 0644
ndb_rpl_stm_innodb.test File 622 B 0644
ndb_rpl_sync.test File 3.02 KB 0644
ndb_rpl_ui.test File 1.2 KB 0644
ndb_rpl_ui2.test File 747 B 0644
ndb_rpl_ui3.test File 1.3 KB 0644
ndb_rpl_xxx_innodb.inc File 6.22 KB 0644
rpl_truncate_7ndb.test File 1.58 KB 0644
rpl_truncate_7ndb_2.test File 383 B 0644
select_ndb_apply_status.inc File 505 B 0644
wait_schema_logging.inc File 2.33 KB 0644