mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
BUG#50767: Some RPL tests started to fail in next-mr-merge on
Linux x86_64 debug Two test cases fail because the suppression for the unsafe warning needs to be updated (BUG@39934 refactored this part and these changes are only in mysql-next-mr - this is why we notice them now when merging in next-mr). This is the case for rpl_nondeterministic_functions and rpl_misc_functions test cases. rpl_stm_binlog_direct test case is not needed in version > 5.1. The rpl_heartbeat_basic test case fails because patch for BUG@50397 removed the CHANGE MASTER in the slave that would set it's period to 1/10 of the master. This would cause the test assertion to fail. The fixes for the issues described above are: - rpl_misc_functions - updated suppression message - rpl_nondeterministic_functions - updated suppression message - rpl_stm_binlog_direct - removed the test case (it is not needed in versions > 5.1) - rpl_heartbeat_basic - deployed instruction: CHANGE MASTER TO MASTER_HEARTBEAT_PERIOD=0.1;
This commit is contained in:
@ -277,6 +277,7 @@ CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=SLAVE_PORT, MASTER_USER='r
|
|||||||
include/start_slave.inc
|
include/start_slave.inc
|
||||||
CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10));
|
CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10));
|
||||||
INSERT INTO t1 VALUES(1, 'on master');
|
INSERT INTO t1 VALUES(1, 'on master');
|
||||||
|
CHANGE MASTER TO MASTER_HEARTBEAT_PERIOD=0.1;
|
||||||
include/start_slave.inc
|
include/start_slave.inc
|
||||||
INSERT INTO t1 VALUES(2, 'on slave');
|
INSERT INTO t1 VALUES(2, 'on slave');
|
||||||
SELECT * FROM t1 ORDER BY a;
|
SELECT * FROM t1 ORDER BY a;
|
||||||
|
@ -4,7 +4,7 @@ reset master;
|
|||||||
reset slave;
|
reset slave;
|
||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||||
start slave;
|
start slave;
|
||||||
CALL mtr.add_suppression('Statement may not be safe to log in statement format.');
|
CALL mtr.add_suppression('Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT');
|
||||||
create table t1(id int, i int, r1 int, r2 int, p varchar(100));
|
create table t1(id int, i int, r1 int, r2 int, p varchar(100));
|
||||||
insert into t1 values(1, connection_id(), 0, 0, "");
|
insert into t1 values(1, connection_id(), 0, 0, "");
|
||||||
insert into t1 values(2, 0, rand()*1000, rand()*1000, "");
|
insert into t1 values(2, 0, rand()*1000, rand()*1000, "");
|
||||||
|
@ -4,7 +4,7 @@ reset master;
|
|||||||
reset slave;
|
reset slave;
|
||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||||
start slave;
|
start slave;
|
||||||
CALL mtr.add_suppression('Statement may not be safe to log in statement format.');
|
CALL mtr.add_suppression('Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT');
|
||||||
CREATE TABLE t1 (a VARCHAR(1000));
|
CREATE TABLE t1 (a VARCHAR(1000));
|
||||||
INSERT INTO t1 VALUES (CONNECTION_ID());
|
INSERT INTO t1 VALUES (CONNECTION_ID());
|
||||||
INSERT INTO t1 VALUES (CONNECTION_ID());
|
INSERT INTO t1 VALUES (CONNECTION_ID());
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -487,6 +487,8 @@ CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10));
|
|||||||
INSERT INTO t1 VALUES(1, 'on master');
|
INSERT INTO t1 VALUES(1, 'on master');
|
||||||
--save_master_pos
|
--save_master_pos
|
||||||
--connection slave
|
--connection slave
|
||||||
|
## set slave period 1/10 of master's
|
||||||
|
CHANGE MASTER TO MASTER_HEARTBEAT_PERIOD=0.1;
|
||||||
--source include/start_slave.inc
|
--source include/start_slave.inc
|
||||||
--sync_with_master
|
--sync_with_master
|
||||||
INSERT INTO t1 VALUES(2, 'on slave');
|
INSERT INTO t1 VALUES(2, 'on slave');
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
source include/master-slave.inc;
|
source include/master-slave.inc;
|
||||||
|
|
||||||
CALL mtr.add_suppression('Statement may not be safe to log in statement format.');
|
CALL mtr.add_suppression('Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT');
|
||||||
|
|
||||||
create table t1(id int, i int, r1 int, r2 int, p varchar(100));
|
create table t1(id int, i int, r1 int, r2 int, p varchar(100));
|
||||||
insert into t1 values(1, connection_id(), 0, 0, "");
|
insert into t1 values(1, connection_id(), 0, 0, "");
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
--source include/master-slave.inc
|
--source include/master-slave.inc
|
||||||
|
|
||||||
CALL mtr.add_suppression('Statement may not be safe to log in statement format.');
|
CALL mtr.add_suppression('Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT');
|
||||||
|
|
||||||
CREATE TABLE t1 (a VARCHAR(1000));
|
CREATE TABLE t1 (a VARCHAR(1000));
|
||||||
|
|
||||||
|
@ -1,230 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
# This test case checks if the option "binlog-direct-non-transactional-updates"
|
|
||||||
# makes non-transactional changes in the statement format to be written to the
|
|
||||||
# binary log as soon as the statement commits.
|
|
||||||
#
|
|
||||||
# In what follows, we use the include file rpl_mixing_engines.inc to generate
|
|
||||||
# sql commands from a format string. The format string consists of a sequence of
|
|
||||||
# 'codes' separated by spaces. Before it set of commands, we paste the expected
|
|
||||||
# sequence in the binary log. The following codes exist:
|
|
||||||
#
|
|
||||||
# - Define the scope of a transaction:
|
|
||||||
# B - Begin.
|
|
||||||
# C - Commit.
|
|
||||||
# R - Rollback.
|
|
||||||
#
|
|
||||||
# - Change only T-Tables:
|
|
||||||
# T - Updates a T-Table.
|
|
||||||
# T-trig - Updates T-Tables through a trigger.
|
|
||||||
# T-func - Updates T-Tables through a function.
|
|
||||||
# T-proc - Updates T-Tables through a procedure.
|
|
||||||
# eT - Fails while updating the first tuple in a T-Table.
|
|
||||||
# Te - Fails while updating an n-tuple (n > 1) in a T-Table.
|
|
||||||
# Te-trig - Fails while updating an n-tuple (n > 1) in a T-Table.
|
|
||||||
# Te-func - Fails while updating an n-tuple (n > 1) in a T-Table.
|
|
||||||
#
|
|
||||||
# - Change only N-Tables
|
|
||||||
# N - Updates a N-Table.
|
|
||||||
# N-trig - Updates N-Tables through a trigger.
|
|
||||||
# N-func - Updates N-Tables through a function.
|
|
||||||
# N-proc - Updates N-Tables through a procedure.
|
|
||||||
# eN - Fails while updating the first tuple in a N-Table.
|
|
||||||
# Ne - Fails while updating an n-tuple (n > 1) in a N-Table.
|
|
||||||
# Ne-trig - Fails while updating an n-tuple (n > 1) in a N-Table.
|
|
||||||
# Ne-func - Fails while updating an n-tuple (n > 1) in a N-Table.
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
--source include/have_binlog_format_statement.inc
|
|
||||||
--source include/master-slave.inc
|
|
||||||
--source include/have_innodb.inc
|
|
||||||
|
|
||||||
set @@session.binlog_direct_non_transactional_updates= TRUE;
|
|
||||||
|
|
||||||
--echo #########################################################################
|
|
||||||
--echo # CONFIGURATION
|
|
||||||
--echo #########################################################################
|
|
||||||
|
|
||||||
--let $engine_type= Innodb
|
|
||||||
SET @commands= 'configure';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
--echo #########################################################################
|
|
||||||
--echo # 1 - BINLOG ORDER
|
|
||||||
--echo #########################################################################
|
|
||||||
connection master;
|
|
||||||
|
|
||||||
--echo
|
|
||||||
--echo
|
|
||||||
--echo
|
|
||||||
--echo
|
|
||||||
--echo #
|
|
||||||
--echo #3) Generates in the binlog what follows:
|
|
||||||
--echo # --> STMT "N B T C" entries, format S.
|
|
||||||
--echo #
|
|
||||||
SET @commands= 'B T N C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T N-trig C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T N-func C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T N-proc C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-trig N C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-trig N-trig C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-trig N-func C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-trig N-proc C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-func N C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-func N-trig C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-func N-func C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-func N-proc C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-proc N C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-proc N-trig C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-proc N-func C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-proc N-proc C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
|
|
||||||
--echo
|
|
||||||
--echo
|
|
||||||
--echo
|
|
||||||
--echo
|
|
||||||
--echo #
|
|
||||||
--echo #3.e) Generates in the binlog what follows if T-* fails:
|
|
||||||
--echo # --> STMT "N" entry, format S.
|
|
||||||
--echo # Otherwise, what follows if N-* fails and a N-Table is changed:
|
|
||||||
--echo # --> STMT "N B T C" entries, format S.
|
|
||||||
--echo #
|
|
||||||
SET @commands= 'B eT N C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B Te N C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T eN C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T Ne C';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
|
|
||||||
--echo
|
|
||||||
--echo
|
|
||||||
--echo
|
|
||||||
--echo
|
|
||||||
--echo #
|
|
||||||
--echo #4) Generates in the binlog what follows:
|
|
||||||
--echo # --> STMT "N B T R" entries, format S.
|
|
||||||
--echo #
|
|
||||||
SET @commands= 'B T N R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T N-trig R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T N-func R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T N-proc R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-trig N R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-trig N-trig R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-trig N-func R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-trig N-proc R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-func N R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-func N-trig R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-func N-func R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-func N-proc R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-proc N R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-proc N-trig R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-proc N-func R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T-proc N-proc R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
|
|
||||||
--echo
|
|
||||||
--echo
|
|
||||||
--echo
|
|
||||||
--echo
|
|
||||||
--echo #
|
|
||||||
--echo #4.e) Generates in the binlog what follows if T* fails:
|
|
||||||
--echo # --> STMT "B N C" entry, format S.
|
|
||||||
--echo # Otherwise, what follows if N* fails and a N-Table is changed:
|
|
||||||
--echo # --> STMT "N" entries, format S.
|
|
||||||
--echo #
|
|
||||||
SET @commands= 'B eT N R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B Te N R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T eN R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
SET @commands= 'B T Ne R';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
||||||
|
|
||||||
|
|
||||||
--echo ###################################################################################
|
|
||||||
--echo # CHECK CONSISTENCY
|
|
||||||
--echo ###################################################################################
|
|
||||||
connection master;
|
|
||||||
sync_slave_with_master;
|
|
||||||
|
|
||||||
--exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/test-nmt-master.sql
|
|
||||||
--exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/test-nmt-slave.sql
|
|
||||||
--diff_files $MYSQLTEST_VARDIR/tmp/test-nmt-master.sql $MYSQLTEST_VARDIR/tmp/test-nmt-slave.sql
|
|
||||||
|
|
||||||
--echo ###################################################################################
|
|
||||||
--echo # CLEAN
|
|
||||||
--echo ###################################################################################
|
|
||||||
SET @commands= 'clean';
|
|
||||||
--source extra/rpl_tests/rpl_mixing_engines.inc
|
|
Reference in New Issue
Block a user