summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <tomas@poseidon.ndb.mysql.com>2006-03-13 09:55:41 +0100
committerunknown <tomas@poseidon.ndb.mysql.com>2006-03-13 09:55:41 +0100
commit9db5b7d4f5355328bf1c77d7031af20baba924c4 (patch)
tree326a967e25fcfd2c85c3f5a3c57ae03bfb3db6a8
parent3364f871d48fe852f6914f4938b8331d81c78a3b (diff)
downloadmariadb-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.result2
-rw-r--r--mysql-test/r/ndb_binlog_multi.result57
-rw-r--r--mysql-test/t/disabled.def2
-rw-r--r--mysql-test/t/ndb_binlog_ddl_multi.test2
-rw-r--r--mysql-test/t/ndb_binlog_multi.test49
-rw-r--r--sql/ha_ndbcluster_binlog.cc3
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