1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
# ==== Purpose ====
#
# Verify that on slave server, appropriate XA_STATE is reported in Performance
# Schema tables for XA transactions.
#
# ==== Implementation ====
#
# 1) On Master start one XA transaction named 'xatest' and set the state to
# 'PREPARED'.
# 2) On slave wait till the applier thread applies the 'XA PREPARE' statement.
# 3) Verify that the XA_STATE is reported as 'PREPARED' in performance schema
# table.
# 4) On Master COMMIT the XA transaction.
# 5) On slave verify that the XA_STATE is reported as 'COMMITTED'
# 6) Ensure that XA COMMIT statment's GTID is the same as that of master.
#
# ==== References ====
#
# Bug#25940184: P_S TRANSACTION INSTRUMENTATION DOES NOT WORK PROPERLY FOR
# XA ON SLAVE
# Test script is independent of binlog format.
--source include/have_binlog_format_mixed.inc
--source include/master-slave.inc
# Verify
--source extra/rpl_tests/rpl_perfschema_applier_xa_status.test
# Cleanup
--source include/rpl_reset.inc
--echo ####################################################################
--echo # Test Case 2: Enable Multithreaded Slave with replica_parallel_type as
--echo # DATABASE. Verify that slave displays appropriate XA_STATE in
--echo # performance schema table, post XA PREPARE AND XA COMMIT command
--echo # execution.
--echo ####################################################################
--source include/rpl_connection_slave.inc
# Save existing settings.
SET @save_replica_parallel_workers=@@global.replica_parallel_workers;
SET @replica_parallel_type=@@global.replica_parallel_type;
# Enable MTS
--source include/stop_slave.inc
SET GLOBAL replica_parallel_workers=4;
SET GLOBAL replica_parallel_type='DATABASE';
--source include/start_slave.inc
# Verify
--source extra/rpl_tests/rpl_perfschema_applier_xa_status.test
# Cleanup
--source include/rpl_reset.inc
--echo ####################################################################
--echo # Test Case 3: Enable Multithreaded Slave with replica_parallel_type as
--echo # LOGICAL_CLOCK. Verify that slave displays appropriate XA_STATE in
--echo # performance schema table, post XA PREPARE AND XA COMMIT command
--echo # execution.
--echo ####################################################################
# Enable MTS
--source include/stop_slave.inc
SET GLOBAL replica_parallel_workers=4;
SET GLOBAL replica_parallel_type='LOGICAL_CLOCK';
--source include/start_slave.inc
# Verify
--source extra/rpl_tests/rpl_perfschema_applier_xa_status.test
--source include/rpl_connection_slave.inc
# Cleanup
--source include/stop_slave.inc
set @@global.replica_parallel_workers= @save_replica_parallel_workers;
set @@global.replica_parallel_type= @replica_parallel_type;
--source include/start_slave.inc
--source include/rpl_end.inc
|