summaryrefslogtreecommitdiff
path: root/mysql-test/suite/s3
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2019-06-26 18:24:04 +0300
committerMonty <monty@mariadb.org>2019-06-26 23:39:12 +0300
commitf48943468f84af465acfb1878a1124c4a0f75ca1 (patch)
tree54ddadb4adebcaa71d31c5a8dd028044c8cc90ac /mysql-test/suite/s3
parentf44c687815ef072e09a8d51d793e2bca8bced61b (diff)
downloadmariadb-git-f48943468f84af465acfb1878a1124c4a0f75ca1.tar.gz
MDEV-19575 Fixed assert in ma_pagecache
There was a bug in the page cache that didn't take into account that another thread could be waiting for a page to be read by read_big_block(). Fixed by releasing all waiters in read_big_block()
Diffstat (limited to 'mysql-test/suite/s3')
-rw-r--r--mysql-test/suite/s3/alter2.result22
-rw-r--r--mysql-test/suite/s3/alter2.test32
2 files changed, 54 insertions, 0 deletions
diff --git a/mysql-test/suite/s3/alter2.result b/mysql-test/suite/s3/alter2.result
new file mode 100644
index 00000000000..d2849905c67
--- /dev/null
+++ b/mysql-test/suite/s3/alter2.result
@@ -0,0 +1,22 @@
+#
+# MDEV-19575 Assertion `page_st == 1' failed upon SELECT from S3
+# table which is being converted into Aria
+#
+CREATE TABLE t1 (f INT);
+insert into t1 values (1),(2);
+ALTER TABLE t1 ENGINE=S3;
+select * from t1;
+f
+1
+2
+connect con1,localhost,root,,$database;
+ALTER TABLE t1 ENGINE=Aria;
+connection default;
+SELECT * FROM t1;
+f
+1
+2
+connection con1;
+disconnect con1;
+connection default;
+DROP TABLE t1;
diff --git a/mysql-test/suite/s3/alter2.test b/mysql-test/suite/s3/alter2.test
new file mode 100644
index 00000000000..de2bc001298
--- /dev/null
+++ b/mysql-test/suite/s3/alter2.test
@@ -0,0 +1,32 @@
+--source include/have_s3.inc
+--source create_database.inc
+
+--echo #
+--echo # MDEV-19575 Assertion `page_st == 1' failed upon SELECT from S3
+--echo # table which is being converted into Aria
+--echo #
+
+CREATE TABLE t1 (f INT);
+insert into t1 values (1),(2);
+
+ALTER TABLE t1 ENGINE=S3;
+select * from t1;
+--connect (con1,localhost,root,,$database)
+--send
+ ALTER TABLE t1 ENGINE=Aria;
+
+--connection default
+SELECT * FROM t1;
+
+# Cleanup
+
+--connection con1
+--reap
+--disconnect con1
+--connection default
+DROP TABLE t1;
+
+#
+# clean up
+#
+--source drop_database.inc