diff options
author | unknown <tomas@poseidon.ndb.mysql.com> | 2006-03-13 09:55:41 +0100 |
---|---|---|
committer | unknown <tomas@poseidon.ndb.mysql.com> | 2006-03-13 09:55:41 +0100 |
commit | 9db5b7d4f5355328bf1c77d7031af20baba924c4 (patch) | |
tree | 326a967e25fcfd2c85c3f5a3c57ae03bfb3db6a8 | |
parent | 3364f871d48fe852f6914f4938b8331d81c78a3b (diff) | |
download | mariadb-git-9db5b7d4f5355328bf1c77d7031af20baba924c4.tar.gz |
changed test to make it predictable
sql/ha_ndbcluster_binlog.cc:
removing non critical assert
-rw-r--r-- | mysql-test/r/ndb_binlog_ddl_multi.result | 2 | ||||
-rw-r--r-- | mysql-test/r/ndb_binlog_multi.result | 57 | ||||
-rw-r--r-- | mysql-test/t/disabled.def | 2 | ||||
-rw-r--r-- | mysql-test/t/ndb_binlog_ddl_multi.test | 2 | ||||
-rw-r--r-- | mysql-test/t/ndb_binlog_multi.test | 49 | ||||
-rw-r--r-- | sql/ha_ndbcluster_binlog.cc | 3 |
6 files changed, 78 insertions, 37 deletions
diff --git a/mysql-test/r/ndb_binlog_ddl_multi.result b/mysql-test/r/ndb_binlog_ddl_multi.result index c9db0531021..3b217c50402 100644 --- a/mysql-test/r/ndb_binlog_ddl_multi.result +++ b/mysql-test/r/ndb_binlog_ddl_multi.result @@ -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 diff --git a/mysql-test/r/ndb_binlog_multi.result b/mysql-test/r/ndb_binlog_multi.result index 81f42a4f5b8..be5dc695d24 100644 --- a/mysql-test/r/ndb_binlog_multi.result +++ b/mysql-test/r/ndb_binlog_multi.result @@ -1,12 +1,18 @@ 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 diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index b97d6f8fc46..1a0303112aa 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -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 diff --git a/mysql-test/t/ndb_binlog_ddl_multi.test b/mysql-test/t/ndb_binlog_ddl_multi.test index d4c52a6117f..120117d1e0a 100644 --- a/mysql-test/t/ndb_binlog_ddl_multi.test +++ b/mysql-test/t/ndb_binlog_ddl_multi.test @@ -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 diff --git a/mysql-test/t/ndb_binlog_multi.test b/mysql-test/t/ndb_binlog_multi.test index ed38c50d997..6adacf73208 100644 --- a/mysql-test/t/ndb_binlog_multi.test +++ b/mysql-test/t/ndb_binlog_multi.test @@ -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; diff --git a/sql/ha_ndbcluster_binlog.cc b/sql/ha_ndbcluster_binlog.cc index 7b35063eb97..15362cde681 100644 --- a/sql/ha_ndbcluster_binlog.cc +++ b/sql/ha_ndbcluster_binlog.cc @@ -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 |