mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
0ac501c79a
Actually, the failure happened with 3innodb as well. Most probably the reason is in failing to delete a binlog file on __NT__ so that that master increments the index of the binlog file. The test results hide valueable warning that windows could generate about that. The scope of this fix is to make sure we have such warning and to lessen chances for binlog file being held at time of closing. The dump thread is getting a good chance to leave and release the file for its successful deletion. We shall watch over the two tests as regression is not excluded. In that case we would have an extra info possibly explaining why __NT__ env can not close/delete the file. However, regardless of that reason, there is alwasy workaround to mask out non-deterministic binlog index number. mysql-test/extra/rpl_tests/rpl_truncate_helper.test: enable warnings for other than DROP queries; wait for slave's full stop which ensures io thread left and that will be regarded by dump thread to leave and close the binlog file; relocating reset master to the end of the test so that the caller of this helper should start with the binlog name which has not yet been affected/reset since its creation. mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: results changed mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: results changed
238 lines
5.9 KiB
Text
238 lines
5.9 KiB
Text
stop slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
reset master;
|
|
reset slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
start slave;
|
|
STOP SLAVE;
|
|
DROP TABLE IF EXISTS t1;
|
|
DROP TABLE IF EXISTS t1;
|
|
RESET SLAVE;
|
|
START SLAVE;
|
|
**** On Master ****
|
|
SET SESSION BINLOG_FORMAT=STATEMENT;
|
|
SET GLOBAL BINLOG_FORMAT=STATEMENT;
|
|
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
**** On Slave ****
|
|
INSERT INTO t1 VALUE (3,3);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
**** On Master ****
|
|
TRUNCATE TABLE t1;
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Slave ****
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Master ****
|
|
DROP TABLE t1;
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t1
|
|
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
|
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
|
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
|
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
|
RESET MASTER;
|
|
STOP SLAVE;
|
|
DROP TABLE IF EXISTS t1;
|
|
DROP TABLE IF EXISTS t1;
|
|
RESET SLAVE;
|
|
START SLAVE;
|
|
**** On Master ****
|
|
SET SESSION BINLOG_FORMAT=MIXED;
|
|
SET GLOBAL BINLOG_FORMAT=MIXED;
|
|
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
**** On Slave ****
|
|
INSERT INTO t1 VALUE (3,3);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
**** On Master ****
|
|
TRUNCATE TABLE t1;
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Slave ****
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Master ****
|
|
DROP TABLE t1;
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t1
|
|
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
|
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
|
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
|
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
|
RESET MASTER;
|
|
STOP SLAVE;
|
|
DROP TABLE IF EXISTS t1;
|
|
DROP TABLE IF EXISTS t1;
|
|
RESET SLAVE;
|
|
START SLAVE;
|
|
**** On Master ****
|
|
SET SESSION BINLOG_FORMAT=ROW;
|
|
SET GLOBAL BINLOG_FORMAT=ROW;
|
|
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
**** On Slave ****
|
|
INSERT INTO t1 VALUE (3,3);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
**** On Master ****
|
|
TRUNCATE TABLE t1;
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Slave ****
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Master ****
|
|
DROP TABLE t1;
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t1
|
|
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
|
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
|
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
|
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
|
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
|
RESET MASTER;
|
|
STOP SLAVE;
|
|
DROP TABLE IF EXISTS t1;
|
|
DROP TABLE IF EXISTS t1;
|
|
RESET SLAVE;
|
|
START SLAVE;
|
|
**** On Master ****
|
|
SET SESSION BINLOG_FORMAT=STATEMENT;
|
|
SET GLOBAL BINLOG_FORMAT=STATEMENT;
|
|
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
**** On Slave ****
|
|
INSERT INTO t1 VALUE (3,3);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
**** On Master ****
|
|
DELETE FROM t1;
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Slave ****
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Master ****
|
|
DROP TABLE t1;
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t1
|
|
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
|
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
|
master-bin.000001 # Query # # use `test`; DELETE FROM t1
|
|
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
|
RESET MASTER;
|
|
STOP SLAVE;
|
|
DROP TABLE IF EXISTS t1;
|
|
DROP TABLE IF EXISTS t1;
|
|
RESET SLAVE;
|
|
START SLAVE;
|
|
**** On Master ****
|
|
SET SESSION BINLOG_FORMAT=MIXED;
|
|
SET GLOBAL BINLOG_FORMAT=MIXED;
|
|
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
**** On Slave ****
|
|
INSERT INTO t1 VALUE (3,3);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
**** On Master ****
|
|
DELETE FROM t1;
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Slave ****
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Master ****
|
|
DROP TABLE t1;
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t1
|
|
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
|
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
|
master-bin.000001 # Query # # use `test`; DELETE FROM t1
|
|
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
|
RESET MASTER;
|
|
STOP SLAVE;
|
|
DROP TABLE IF EXISTS t1;
|
|
DROP TABLE IF EXISTS t1;
|
|
RESET SLAVE;
|
|
START SLAVE;
|
|
**** On Master ****
|
|
SET SESSION BINLOG_FORMAT=ROW;
|
|
SET GLOBAL BINLOG_FORMAT=ROW;
|
|
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
**** On Slave ****
|
|
INSERT INTO t1 VALUE (3,3);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
**** On Master ****
|
|
DELETE FROM t1;
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Slave ****
|
|
SELECT * FROM t1;
|
|
a b
|
|
3 3
|
|
**** On Master ****
|
|
DROP TABLE t1;
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t1
|
|
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
|
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
|
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
|
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
|
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
|
|
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
|
RESET MASTER;
|