Commit f243c737 authored by Sergei Golubchik's avatar Sergei Golubchik

sporadic failures of rpl.rpl_rewrite_db_sys_vars

first stop the slave, then run commands on the master that are
supposed to fail on the slave, then start the slave.

if you swap first two steps, the slave might get and execute those
commands before it's stopped, which will fail the test.

also, improve debugability
parent a7484635
......@@ -12,11 +12,9 @@ select @@session.server_id;
create database replica_db1;
create database y;
create database test_replica;
SELECT @@GLOBAL.replicate_rewrite_db;
@@GLOBAL.replicate_rewrite_db
primary_db1->replica_db1,x->y
# Ensuring SHOW SLAVE STATUS produces correct value for Replicate_Rewrite_DB...
# ...success
SELECT @@GLOBAL.replicate_rewrite_db, 'primary_db1->replica_db1,x->y' as 'Replicate_Rewrite_DB from SHOW SLAVE STATUS';
@@GLOBAL.replicate_rewrite_db Replicate_Rewrite_DB from SHOW SLAVE STATUS
primary_db1->replica_db1,x->y primary_db1->replica_db1,x->y
# Create DBs and tables on primary
connection master;
create database primary_db1;
......@@ -60,15 +58,13 @@ SELECT @@GLOBAL.replicate_rewrite_db;
@@GLOBAL.replicate_rewrite_db
primary_db1->replica_db1,x->y
SET @@GLOBAL.replicate_rewrite_db="test_master->test_replica";
SELECT @@GLOBAL.replicate_rewrite_db;
@@GLOBAL.replicate_rewrite_db
test_master->test_replica
SHOW DATABASES like 'test_replica';
Database (test_replica)
test_replica
include/start_slave.inc
# Ensuring SHOW SLAVE STATUS produces correct value for Replicate_Rewrite_DB...
# ...success
SELECT @@GLOBAL.replicate_rewrite_db, 'test_master->test_replica' as 'Replicate_Rewrite_DB from SHOW SLAVE STATUS';
@@GLOBAL.replicate_rewrite_db Replicate_Rewrite_DB from SHOW SLAVE STATUS
test_master->test_replica test_master->test_replica
# Create DB and tables on primary
connection master;
create database test_master;
......@@ -94,6 +90,8 @@ t
3
include/diff_tables.inc [master:test_master.my_table,slave:test_replica.my_table]
# Update of values on primary for DB not set in replication_rewrite_db
include/stop_slave.inc
include/reset_slave.inc
connection master;
use x;
insert into my_table values (314);
......@@ -104,8 +102,6 @@ t
314
include/save_master_gtid.inc
connection slave;
include/stop_slave.inc
include/reset_slave.inc
include/start_slave.inc
SELECT @@GLOBAL.replicate_rewrite_db;
@@GLOBAL.replicate_rewrite_db
......
......@@ -19,15 +19,8 @@ create database replica_db1;
create database y;
# This DB will be rewrited from test case
create database test_replica;
SELECT @@GLOBAL.replicate_rewrite_db;
let $rewrite_db_sss= query_get_value(SHOW SLAVE STATUS, Replicate_Rewrite_DB, 1);
--echo # Ensuring SHOW SLAVE STATUS produces correct value for Replicate_Rewrite_DB...
if (`SELECT strcmp(@@global.replicate_rewrite_db, "$rewrite_db_sss") != 0`)
{
die SHOW SLAVE STATUS Replicate_Rewrite_DB value $rewrite_db_sss does not match variable @@GLOBAL.replicate_rewrite_db;
}
--echo # ...success
eval SELECT @@GLOBAL.replicate_rewrite_db, '$rewrite_db_sss' as 'Replicate_Rewrite_DB from SHOW SLAVE STATUS';
--echo # Create DBs and tables on primary
connection master;
......@@ -63,16 +56,10 @@ source include/stop_slave.inc;
SET @save_replicate_rewrite_db = @@GLOBAL.replicate_rewrite_db;
SELECT @@GLOBAL.replicate_rewrite_db;
SET @@GLOBAL.replicate_rewrite_db="test_master->test_replica";
SELECT @@GLOBAL.replicate_rewrite_db;
SHOW DATABASES like 'test_replica';
source include/start_slave.inc;
let $rewrite_db_sss= query_get_value(SHOW SLAVE STATUS, Replicate_Rewrite_DB, 1);
--echo # Ensuring SHOW SLAVE STATUS produces correct value for Replicate_Rewrite_DB...
if (`SELECT strcmp(@@global.replicate_rewrite_db, "$rewrite_db_sss") != 0`)
{
die SHOW SLAVE STATUS Replicate_Rewrite_DB value $rewrite_db_sss does not match variable @@GLOBAL.replicate_rewrite_db;
}
--echo # ...success
eval SELECT @@GLOBAL.replicate_rewrite_db, '$rewrite_db_sss' as 'Replicate_Rewrite_DB from SHOW SLAVE STATUS';
--echo # Create DB and tables on primary
connection master;
......@@ -101,6 +88,9 @@ select * from test_replica.my_table;
--source include/diff_tables.inc
--echo # Update of values on primary for DB not set in replication_rewrite_db
--source include/stop_slave.inc
--source include/reset_slave.inc
connection master;
use x;
insert into my_table values (314);
......@@ -108,9 +98,6 @@ select * from my_table;
--source include/save_master_gtid.inc
connection slave;
--let $rpl_only_running_threads=1
--source include/stop_slave.inc
--source include/reset_slave.inc
--source include/start_slave.inc
SELECT @@GLOBAL.replicate_rewrite_db;
--source include/sync_with_master_gtid.inc
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment