-
Notifications
You must be signed in to change notification settings - Fork 4k
/
Copy pathinnodb_partition_open_files_limit.test
39 lines (36 loc) · 1.86 KB
/
innodb_partition_open_files_limit.test
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
--source include/not_windows.inc
CALL mtr.add_suppression("innodb_open_files should not be greater than the open_files_limit.");
CALL mtr.add_suppression("You must raise the value of innodb_open_files in my.cnf! Remember that InnoDB keeps all");
CALL mtr.add_suppression("redo log files and all system tablespace files open for the whole time mysqld is running, and");
CALL mtr.add_suppression("needs to open also some .ibd files if the file-per-table storage model is used. Current open files .*, max allowed open files 1.");
CALL mtr.add_suppression("Too many (.*) files stay open while the maximum allowed value would be 1. You may need to raise the value of innodb_open_files in my.cnf.");
CALL mtr.add_suppression("Cannot close file ./mysql/tables.ibd, because modification");
CALL mtr.add_suppression("Open files .* exceeds the limit 1");
CALL mtr.add_suppression("Cannot close file");
--disable_warnings
DROP TABLE IF EXISTS `t1`;
--enable_warnings
# On some platforms the lowest possible open_files_limit is too high...
let $max_open_files_limit= `SELECT @@open_files_limit > 1024`;
if ($max_open_files_limit)
{
skip Need open_files_limit to be lower than 1025;
}
--echo # Bug#46922: crash when adding partitions and open_files_limit is reached
#
# Note:
# The test script ask for open_files_limit=5
# The server silently increase that to 5000 before asking the OS.
# The OS may (or may not) reduce/increase open_files_limit, typically to 1024
# (Linux, see 'ulimit -n')
# So, for the ADD PARTITIONS to really reach the 'Too many open files'
# error, the test script attempts 600 partitions.
#
CREATE TABLE t1 (a INT PRIMARY KEY)
PARTITION BY KEY () PARTITIONS 1;
INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
--replace_regex /file '.*'/file '<partition file>'/
ALTER TABLE t1 ADD PARTITION PARTITIONS 50;
--sorted_result
SELECT * FROM t1;
DROP TABLE t1;