changed test to make it predictable

parent 71281995
......@@ -160,4 +160,4 @@ master-bin1.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # use `test`; drop table `t2`
master-bin1.000001 # Query # # use `test`; drop table t2
drop table if exists t1,t2;
drop table if exists t1,t2;
SHOW TABLES;
Tables_in_test
reset master;
reset master;
CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB;
show tables;
Tables_in_test
t2
INSERT INTO t2 VALUES (1,1),(2,2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin1.000001 # Query # # use `test`; CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB
master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # table_id: # (test.t2)
master-bin1.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT
select * from t2 order by a;
a b
1 1
......@@ -19,23 +25,54 @@ SELECT * FROM t2 ORDER BY a;
a b
1 1
2 2
DROP TABLE t2;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin.000001 # Write_rows # # table_id: #
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE t2
SELECT inserts,updates,deletes,schemaops FROM
cluster.binlog_index WHERE epoch=<the_epoch>;
inserts updates deletes schemaops
2 0 0 0
DROP TABLE t2;
reset master;
reset master;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB;
INSERT INTO t1 VALUES (1),(2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin1.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB
master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # table_id: # (test.t1)
master-bin1.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT
SELECT @the_epoch2:=epoch,inserts,updates,deletes,schemaops FROM
cluster.binlog_index ORDER BY epoch DESC LIMIT 1;
@the_epoch2:=epoch inserts updates deletes schemaops
<the_epoch2> 2 0 0 0
SELECT inserts,updates,deletes,schemaops FROM
cluster.binlog_index WHERE epoch > <the_epoch> AND epoch < <the_epoch2>;
cluster.binlog_index WHERE epoch > <the_epoch> AND epoch <= <the_epoch2>;
inserts updates deletes schemaops
2 0 0 0
drop table t1;
SHOW TABLES;
Tables_in_test
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin1.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB
master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # table_id: # (test.t1)
master-bin1.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # use `test`; drop table t1
SELECT inserts,updates,deletes,schemaops FROM
cluster.binlog_index WHERE epoch > <the_epoch> AND epoch < <the_epoch2>;
cluster.binlog_index WHERE epoch > <the_epoch> AND epoch <= <the_epoch2>;
inserts updates deletes schemaops
2 0 0 0
......@@ -17,7 +17,7 @@ ndb_autodiscover : Needs to be fixed w.r.t binlog
ndb_autodiscover2 : Needs to be fixed w.r.t binlog
#ndb_binlog_basic : Results are not deterministic, Tomas will fix
#ndb_binlog_ddl_multi : Bug#17038 [PATCH PENDING]
ndb_binlog_multi : Results are not deterministic, Tomas will fix
#ndb_binlog_multi : Results are not deterministic, Tomas will fix
ndb_load : Bug#17233
partition_03ndb : Bug#16385
ps_7ndb : dbug assert in RBR mode when executing test suite
......
......@@ -171,9 +171,9 @@ create table t1 (a int key) engine=ndb;
insert into t1 values(1);
rename table t1 to t2;
insert into t2 values(2);
drop table t2;
# now we should see data in table t1 _and_ t2
# prior to bug fix, data was missing for t2
--connection server2
drop table t2;
--source include/show_binlog_events.inc
......@@ -9,28 +9,26 @@ connection server1;
drop table if exists t1,t2;
--enable_warnings
# reset for test
connection server1;
reset master;
connection server2;
reset master;
#
# basic test to see if one server sees the table from the other
# and sets up the replication correctly
#
# no tables and nothing in cluster.binlog_index;
connection server1;
SHOW TABLES;
# create table on the other server
connection server2;
CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB;
# make sure the first mysql server knows about this table
connection server1;
show tables;
# insert something on server2
connection server2;
INSERT INTO t2 VALUES (1,1),(2,2);
# verify that we get the data in the binlog
--source include/show_binlog_events.inc
select * from t2 order by a;
save_master_pos;
--replace_column 1 <the_epoch>
SELECT @the_epoch:=epoch,inserts,updates,deletes,schemaops FROM
cluster.binlog_index ORDER BY epoch DESC LIMIT 1;
......@@ -39,16 +37,25 @@ let $the_epoch= `SELECT @the_epoch`;
# see if we got something on server1
connection server1;
SELECT * FROM t2 ORDER BY a;
# doing drop table will ensure that all the events have been received
DROP TABLE t2;
# verify thar we have table and data in binlog
--source include/show_binlog_events.inc
--replace_result $the_epoch <the_epoch>
eval SELECT inserts,updates,deletes,schemaops FROM
cluster.binlog_index WHERE epoch=$the_epoch;
# reset for next test
connection server1;
reset master;
connection server2;
reset master;
# single schema ops will not show
# drop the table on server1
DROP TABLE t2;
connection server2;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB;
INSERT INTO t1 VALUES (1),(2);
save_master_pos;
--source include/show_binlog_events.inc
--replace_column 1 <the_epoch2>
SELECT @the_epoch2:=epoch,inserts,updates,deletes,schemaops FROM
cluster.binlog_index ORDER BY epoch DESC LIMIT 1;
......@@ -56,16 +63,14 @@ let $the_epoch2= `SELECT @the_epoch2`;
--replace_result $the_epoch <the_epoch> $the_epoch2 <the_epoch2>
eval SELECT inserts,updates,deletes,schemaops FROM
cluster.binlog_index WHERE epoch > $the_epoch AND epoch < $the_epoch2;
drop table t1;
cluster.binlog_index WHERE epoch > $the_epoch AND epoch <= $the_epoch2;
# flush on server2
# now see that we have the events on the other server
connection server2;
SHOW TABLES;
# doing drop table will ensure that all the events have been received
drop table t1;
# verify thar we have table and data in binlog
--source include/show_binlog_events.inc
--replace_result $the_epoch <the_epoch> $the_epoch2 <the_epoch2>
eval SELECT inserts,updates,deletes,schemaops FROM
cluster.binlog_index WHERE epoch > $the_epoch AND epoch < $the_epoch2;
# reset
connection server1;
cluster.binlog_index WHERE epoch > $the_epoch AND epoch <= $the_epoch2;
......@@ -3224,7 +3224,7 @@ pthread_handler_t ndb_binlog_thread_func(void *arg)
if (trans.good())
{
DBUG_ASSERT(row.n_inserts || row.n_updates || row.n_deletes);
//DBUG_ASSERT(row.n_inserts || row.n_updates || row.n_deletes);
injector::transaction::binlog_pos start= trans.start_pos();
if (int r= trans.commit())
{
......@@ -3240,7 +3240,6 @@ pthread_handler_t ndb_binlog_thread_func(void *arg)
DBUG_PRINT("info", ("COMMIT gci: %lld", gci));
if (ndb_update_binlog_index)
ndb_add_binlog_index(thd, &row);
ndb_latest_applied_binlog_epoch= gci;
}
ndb_latest_handled_binlog_epoch= gci;
#ifdef RUN_NDB_BINLOG_TIMER
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment