mirror of
https://github.com/MariaDB/server.git
synced 2026-04-18 22:35:33 +02:00
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
This commit is contained in:
parent
a74846354e
commit
f243c73788
2 changed files with 13 additions and 30 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue