summaryrefslogtreecommitdiff
path: root/mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test
diff options
context:
space:
mode:
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.test181
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
-}