mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 11:01:52 +01:00
Merge jmiller@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into mysql.com:/home/ndbdev/jmiller/clones/mysql-5.1-new
This commit is contained in:
commit
ce3dcff2f3
6 changed files with 78 additions and 37 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue