config root man

Current Path : /home/usr.opt/mysql57/mysql-test/suite/rpl/t/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //home/usr.opt/mysql57/mysql-test/suite/rpl/t/rpl_mts_logical_clock_timestamping.test

#
# The test verifies execution specially timestamped transactions and
# erroring out due to inconsistent timestamps found.
#
--source include/have_debug.inc
--source include/master-slave.inc
# format - non-specific test is enough to executed in MIXED mode only.
--source include/have_binlog_format_mixed.inc

--connection slave
call mtr.add_suppression("Transaction is tagged with inconsistent logical timestamps");
call mtr.add_suppression("Cannot execute the current event group in the parallel mode.");
#call mtr.add_suppression("Slave I/O: Got fatal error 1236 from master when reading data from binary log");

--source include/stop_slave.inc

SET @save_slave_parallel_type = @@GLOBAL.slave_parallel_type;
SET @save_slave_parallel_workers = @@GLOBAL.slave_parallel_workers;
SET @save_slave_transaction_retries = @@GLOBAL.slave_transaction_retries;

SET GLOBAL slave_parallel_type = LOGICAL_CLOCK;
SET GLOBAL slave_parallel_workers = 3;
SET GLOBAL slave_transaction_retries = 0;

#
# Part I. "Rotated" transactions apply correctly.
# At times Master generalates last_committed as magic SEQ_UNINIT which
# designates the transaction's commit parent is unknown so
# it has to be applied in exclusive environment, aka
# fallback to sequential mode.
#

# Create a chain of binlogs containing two consequent SEQ_UNINIT last_committed
# transactions in one them.

connect (master2,localhost,root,,);

--connection master
--let $MYSQLD_DATADIR= `select @@datadir`
--let $events_file=$MYSQLTEST_VARDIR/tmp/events.sql

RESET MASTER; # make sure we start from 0000001 binlog

CREATE TABLE t1 (a int) ENGINE= innodb;
INSERT INTO t1 SET a=1;

--connection master1
BEGIN;
INSERT INTO t1 SET a=2;

--connection master2
BEGIN;
INSERT INTO t1 SET a=3;

--connection master
FLUSH LOGS;

--connection master1
COMMIT;
--connection master2
COMMIT;

# two timestamp pair of (0,[12]) must be found.
--exec $MYSQL_BINLOG --force-if-open $MYSQLD_DATADIR/master-bin.000002 > $events_file
--let $grep_file= $events_file
--let $grep_pattern= last_committed=0\tsequence_number=[12]
--let $grep_output= print_count
--source include/grep_pattern.inc

# Create a chain of binlogs containing two consequent SEQ_UNINIT last_committed
# transactions separated by a Rotate event.

--connection master
INSERT INTO t1 SET a=1;

--connection master1
BEGIN;
INSERT INTO t1 SET a=2;

--connection master2
BEGIN;
INSERT INTO t1 SET a=3;

--connection master
FLUSH LOGS;

--connection master1
COMMIT;

--connection master
FLUSH LOGS;

--connection master2
COMMIT;

--connection master
--send INSERT INTO t1 SET a=1
--connection master1
--send INSERT INTO t1 SET a=2
--connection master2
--send INSERT INTO t1 SET a=3

--connection master
--reap
--connection master1
--reap
--connection master2
--reap


--connection slave
--source include/start_slave.inc

# Proof of correctess stable execution
--connection master
--sync_slave_with_master

--let $diff_tables=master:t1,slave:t1
--source include/diff_tables.inc

#
# Part II. Let's feign inconsistent timestamping
# to see how Slave expectedly stops.
#

--connection master
SET @@session.debug ='+d,feign_commit_parent';
INSERT INTO t1 SET a=0;
SET @@session.debug ='-d,feign_commit_parent';

--connection slave
--let $slave_sql_errno= convert_error(ER_MTS_CANT_PARALLEL)
--source include/wait_for_slave_sql_to_stop.inc
--source include/stop_slave_io.inc


# "Manual" recovery to restart anew 'cos of the schrambled event
--connection master
RESET MASTER;

--connection slave
RESET SLAVE;
RESET MASTER;
--source include/start_slave.inc

#
# Cleanup
#
--connection master
DROP TABLE t1;

--sync_slave_with_master

#--connection slave
--source include/stop_slave.inc
SET @@GLOBAL.slave_parallel_type= @save_slave_parallel_type;
SET @@GLOBAL.slave_parallel_workers= @save_slave_parallel_workers;
SET @@GLOBAL.slave_transaction_retries= @save_slave_transaction_retries;
--source include/start_slave.inc

--source include/rpl_end.inc


Man Man