diff options
author | Sergei Golubchik <sergii@pisem.net> | 2011-07-02 22:08:51 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2011-07-02 22:08:51 +0200 |
commit | 9809f05199aeb0b67991fac41bd86f38730768dc (patch) | |
tree | fa2792ff86d0da014b535d743759810612338042 /mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test | |
parent | 0accbd0364e0333e0b119aa9ce93e34ded9df6cb (diff) | |
parent | 5a0e7394a5ae0c7b6a1ea35b7ea3a8985325987a (diff) | |
download | mariadb-git-9809f05199aeb0b67991fac41bd86f38730768dc.tar.gz |
5.5-merge
Diffstat (limited to 'mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test')
-rw-r--r-- | mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test deleted file mode 100644 index b90e6fff8bc..00000000000 --- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test +++ /dev/null @@ -1,181 +0,0 @@ -# -# Currently this test only runs in the source tree with the -# ndb/test programs compiled. -# invoke with: ./mysql-test-run --ndb-extra-test --do-test=rpl_ndb_bank -# -# 1. start a "bank" application running on the master cluster -# 2. perform online sync of slave -# 3. periodically check consistency of slave -# 4. stop the bank application -# 5. check that the slave and master BANK databases are the same -# - ---source include/have_ndb.inc ---source include/have_ndb_extra.inc ---source include/have_binlog_format_mixed_or_row.inc ---source include/ndb_master-slave.inc - -# kill any trailing processes ---system killall lt-bankTransactionMaker lt-bankTimer lt-bankMakeGL || true - ---disable_warnings -# initialize master ---connection master -CREATE DATABASE IF NOT EXISTS BANK; -DROP DATABASE BANK; -CREATE DATABASE BANK default charset=latin1 default collate=latin1_bin; ---enable_warnings - -# -# These tables should correspond to the table definitions in -# storage/ndb/test/src/NDBT_Tables.cpp -# ---connection master -USE BANK; -CREATE TABLE GL ( TIME BIGINT UNSIGNED NOT NULL, - ACCOUNT_TYPE INT UNSIGNED NOT NULL, - BALANCE INT UNSIGNED NOT NULL, - DEPOSIT_COUNT INT UNSIGNED NOT NULL, - DEPOSIT_SUM INT UNSIGNED NOT NULL, - WITHDRAWAL_COUNT INT UNSIGNED NOT NULL, - WITHDRAWAL_SUM INT UNSIGNED NOT NULL, - PURGED INT UNSIGNED NOT NULL, - PRIMARY KEY USING HASH (TIME,ACCOUNT_TYPE)) - ENGINE = NDB; - -CREATE TABLE ACCOUNT ( ACCOUNT_ID INT UNSIGNED NOT NULL, - OWNER INT UNSIGNED NOT NULL, - BALANCE INT UNSIGNED NOT NULL, - ACCOUNT_TYPE INT UNSIGNED NOT NULL, - PRIMARY KEY USING HASH (ACCOUNT_ID)) - ENGINE = NDB; - -CREATE TABLE TRANSACTION ( TRANSACTION_ID BIGINT UNSIGNED NOT NULL, - ACCOUNT INT UNSIGNED NOT NULL, - ACCOUNT_TYPE INT UNSIGNED NOT NULL, - OTHER_ACCOUNT INT UNSIGNED NOT NULL, - TRANSACTION_TYPE INT UNSIGNED NOT NULL, - TIME BIGINT UNSIGNED NOT NULL, - AMOUNT INT UNSIGNED NOT NULL, - PRIMARY KEY USING HASH (TRANSACTION_ID,ACCOUNT)) - ENGINE = NDB; - -CREATE TABLE SYSTEM_VALUES ( SYSTEM_VALUES_ID INT UNSIGNED NOT NULL, - VALUE BIGINT UNSIGNED NOT NULL, - PRIMARY KEY USING HASH (SYSTEM_VALUES_ID)) - ENGINE = NDB; - -CREATE TABLE ACCOUNT_TYPE ( ACCOUNT_TYPE_ID INT UNSIGNED NOT NULL, - DESCRIPTION CHAR(64) NOT NULL, - PRIMARY KEY USING HASH (ACCOUNT_TYPE_ID)) - ENGINE = NDB; - -# -# create "BANK" application -# ---exec NDB_CONNECTSTRING=$NDB_CONNECTSTRING ../storage/ndb/test/ndbapi/bank/bankCreator >> $NDB_TOOLS_OUTPUT - -# -# start main loop -# repeat backup-restore-check -# - -# set this high if testing to run many syncs in loop ---let $2=1 -while ($2) -{ - -# -# start "BANK" application -# ---exec NDB_CONNECTSTRING=$NDB_CONNECTSTRING ../storage/ndb/test/ndbapi/bank/bankTimer -w 5 >> $NDB_TOOLS_OUTPUT & ---exec NDB_CONNECTSTRING=$NDB_CONNECTSTRING ../storage/ndb/test/ndbapi/bank/bankMakeGL >> $NDB_TOOLS_OUTPUT & ---exec NDB_CONNECTSTRING=$NDB_CONNECTSTRING ../storage/ndb/test/ndbapi/bank/bankTransactionMaker >> $NDB_TOOLS_OUTPUT & - -# -# let the "BANK" run for a while -# ---sleep 5 - ---disable_warnings -# initialize slave for sync ---connection slave -STOP SLAVE; -RESET SLAVE; -# to make sure we drop any ndbcluster tables -CREATE DATABASE IF NOT EXISTS BANK; -DROP DATABASE BANK; -# create database -CREATE DATABASE BANK; ---enable_warnings - -# -# Time to sync the slave: -# start by taking a backup on master ---connection master -RESET MASTER; ---exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "start backup" >> $NDB_TOOLS_OUTPUT - -# there is no neat way to find the backupid, this is a hack to find it... ---exec $NDB_TOOLS_DIR/ndb_select_all --ndb-connectstring="$NDB_CONNECTSTRING" -d sys --delimiter=',' SYSTAB_0 | grep 520093696 > $MYSQLTEST_VARDIR/tmp.dat -CREATE TABLE IF NOT EXISTS mysql.backup_info (id INT, backup_id INT) ENGINE = HEAP; -DELETE FROM mysql.backup_info; -LOAD DATA INFILE '../tmp.dat' INTO TABLE mysql.backup_info FIELDS TERMINATED BY ','; ---exec rm $MYSQLTEST_VARDIR/tmp.dat || true ---replace_column 1 <the_backup_id> -SELECT @the_backup_id:=backup_id FROM mysql.backup_info; -let the_backup_id=`select @the_backup_id`; - -# restore on slave, first check that nothing is there ---connection slave ---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING_SLAVE" -p 8 -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING_SLAVE" -p 8 -b $the_backup_id -n 2 -r -e --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -# -# now setup replication to continue from last epoch ---source include/ndb_setup_slave.inc ---connection slave -START SLAVE; - - -# -# Now loop and check consistency every 2 seconds on slave -# ---connection slave ---let $1=10 -while ($1) -{ - --sleep 2 - --replace_result $MASTER_MYPORT MASTER_PORT - --replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 34 <Last_IO_Errno> 35 <Last_IO_Error> - SHOW SLAVE STATUS; - STOP SLAVE; - --exec NDB_CONNECTSTRING=$NDB_CONNECTSTRING_SLAVE ../storage/ndb/test/ndbapi/bank/bankValidateAllGLs >> $NDB_TOOLS_OUTPUT - START SLAVE; - --dec $1 -} - -# -# Stop transactions -# ---exec killall lt-bankTransactionMaker lt-bankTimer lt-bankMakeGL - -# -# Check that the databases are the same on slave and master -# 1. dump database BANK on both master and slave -# 2. compare, there should be no difference -# ---exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info BANK ACCOUNT_TYPE ACCOUNT GL TRANSACTION > $MYSQLTEST_VARDIR/tmp/master_BANK.sql ---connection master -use test; -create table t1 (a int primary key) engine=ndb; -insert into t1 values (1); ---sync_slave_with_master ---exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info BANK ACCOUNT_TYPE ACCOUNT GL TRANSACTION > $MYSQLTEST_VARDIR/tmp/slave_BANK.sql ---connection master -drop table t1; - -diff_files $MYSQLTEST_VARDIR/tmp/master_BANK.sql $MYSQLTEST_VARDIR/tmp/slave_BANK.sql; - - --dec $2 -} |