diff options
Diffstat (limited to 'mysql-test/suite/maria/maria-recovery-big.test')
-rw-r--r-- | mysql-test/suite/maria/maria-recovery-big.test | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/mysql-test/suite/maria/maria-recovery-big.test b/mysql-test/suite/maria/maria-recovery-big.test new file mode 100644 index 00000000..4bad3913 --- /dev/null +++ b/mysql-test/suite/maria/maria-recovery-big.test @@ -0,0 +1,69 @@ +# Aria recovery test which cannot run in shared memory +# because it generates too much data, or which takes a lot of time. + +--source include/not_embedded.inc +# Don't test this under valgrind, memory leaks will occur as we crash +--source include/not_valgrind.inc +# Binary must be compiled with debug for crash to occur +--source include/have_debug.inc +--source include/have_maria.inc +--source include/big_test.inc + +set global aria_log_file_size=4294959104; + +--disable_warnings +drop database if exists mysqltest; +--enable_warnings +create database mysqltest; +let $mms_tname=t; + +# Include scripts can perform SQL. For it to not influence the main test +# they use a separate connection. This way if they use a DDL it would +# not autocommit in the main test. +connect (admin, localhost, root,,mysqltest,,); +--enable_reconnect + +connection default; +use mysqltest; +--enable_reconnect + +# +# Test with big blobs +# + +--echo * TEST of recovery with blobs +-- source include/maria_empty_logs.inc +create table t1 (a int, b longtext) engine=aria table_checksum=1; +let $mms_tables=1; +-- source include/maria_make_snapshot_for_feeding_recovery.inc +insert into t1 values (1,"123456789012345678901234567890"),(2,"09876543210987654321"); +-- source include/maria_make_snapshot_for_comparison.inc +lock table t1 write; +let $loop=20; +while ($loop) +{ + update t1 set b=CONCAT(b,b); + dec $loop; +} +select a,length(b) from t1; +let $loop=22; +while ($loop) +{ + update t1 set b=mid(b,1,length(b)/2); + dec $loop; +} +select a,length(b) from t1; +# we want recovery to run on the first snapshot made above +let $mvr_restore_old_snapshot=1; +let $mms_compare_physically=0; +let $mvr_debug_option="+d,maria_flush_whole_log,maria_crash"; +let $mvr_crash_statement= set global aria_checkpoint_interval=1; +-- source include/maria_verify_recovery.inc +drop table t1; + +# clean up everything +let $mms_purpose=feeding_recovery; +eval drop database mysqltest_for_$mms_purpose; +let $mms_purpose=comparison; +eval drop database mysqltest_for_$mms_purpose; +drop database mysqltest; |