diff options
author | Monty <monty@mariadb.org> | 2016-01-28 14:06:05 +0200 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2016-01-28 14:06:05 +0200 |
commit | 7b14ba63f22e6c98c1982dae8847035ad1b8e155 (patch) | |
tree | f8a6a75fdd8a182255bbc8816f347fd159f16180 /mysql-test/suite/maria | |
parent | ce40ccaf24af2fe395f541cb1079256de8727ccd (diff) | |
download | mariadb-git-7b14ba63f22e6c98c1982dae8847035ad1b8e155.tar.gz |
MDEV-8724 Assertion `rc == 0' failed in ma_decrypt on reading an Aria tablemariadb-10.1.11
Don't assert if decrypt or encrypt fails if my_assert_on_error is not set.
Added failed file name if encryption/decryption fails.
Diffstat (limited to 'mysql-test/suite/maria')
-rw-r--r-- | mysql-test/suite/maria/encrypt-wrong-key.result | 16 | ||||
-rw-r--r-- | mysql-test/suite/maria/encrypt-wrong-key.test | 52 |
2 files changed, 68 insertions, 0 deletions
diff --git a/mysql-test/suite/maria/encrypt-wrong-key.result b/mysql-test/suite/maria/encrypt-wrong-key.result new file mode 100644 index 00000000000..bc22481296d --- /dev/null +++ b/mysql-test/suite/maria/encrypt-wrong-key.result @@ -0,0 +1,16 @@ +call mtr.add_suppression("file_key_management"); +call mtr.add_suppression("System key id 1 is missing"); +call mtr.add_suppression("Unknown key id 1"); +call mtr.add_suppression("Failed to decrypt"); +CREATE TABLE t1 (i INT, KEY(i)) ENGINE=Aria; +INSERT INTO t1 VALUES (1); +repair table t1; +Table Op Msg_type Msg_text +test.t1 repair info Wrong CRC on datapage at 1 +test.t1 repair warning Number of rows changed from 1 to 0 +test.t1 repair status OK +INSERT INTO t1 VALUES (2); +select * from t1; +ERROR HY000: failed to decrypt './test/t1' rc: -1 dstlen: 0 size: 8172 + +drop table t1; diff --git a/mysql-test/suite/maria/encrypt-wrong-key.test b/mysql-test/suite/maria/encrypt-wrong-key.test new file mode 100644 index 00000000000..b744c5fac17 --- /dev/null +++ b/mysql-test/suite/maria/encrypt-wrong-key.test @@ -0,0 +1,52 @@ +# +# Test what happens if one removes a decryption key for Aria +# + +call mtr.add_suppression("file_key_management"); +call mtr.add_suppression("System key id 1 is missing"); +call mtr.add_suppression("Unknown key id 1"); +call mtr.add_suppression("Failed to decrypt"); + +--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +--shutdown_server +--source include/wait_until_disconnected.inc + +--write_file $MYSQLTEST_VARDIR/keys1.txt +1;770A8A65DA156D24EE2A093277530142 +EOF + +--exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +--enable_reconnect +--source include/wait_until_connected_again.inc + +CREATE TABLE t1 (i INT, KEY(i)) ENGINE=Aria; +INSERT INTO t1 VALUES (1); + +--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +--shutdown_server +--source include/wait_until_disconnected.inc + +--write_file $MYSQLTEST_VARDIR/keys2.txt +2;770A8A65DA156D24EE2A093277530143 +EOF + +--exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys2.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +--enable_reconnect +--source include/wait_until_connected_again.inc + +repair table t1; + +INSERT INTO t1 VALUES (2); + +--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +--shutdown_server +--source include/wait_until_disconnected.inc + +--exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +--enable_reconnect +--source include/wait_until_connected_again.inc + +--replace_result \\ / +--error 192 +select * from t1; +drop table t1; |