mirror of
https://github.com/MariaDB/server.git
synced 2025-07-14 23:38:14 +02:00

MDEV--15609 engines/funcs.crash_manytables_number crashes with error 24 (too many open files) MDEV-10286 Adjustment of table_open_cache according to system limits does not work when open-files-limit option is provided Fixed by adjusting tc_size downwards if there is not enough file descriptors to use. Other changes: - Ensure that there is 30 (was 10) extra file descriptors for other usage - Decrease TABLE_OPEN_CACHE_MIN to 200 as it's better to have a smaller table cache than getting error 24 - Increase minimum of max_connections and table_open_cache from 1 to 10 as 1 is not usable for any real application, only for testing.
23 lines
1.1 KiB
Text
23 lines
1.1 KiB
Text
# test DB-917
|
|
# test that table/share open lock timeout does not crash the server on subsequent access
|
|
source include/have_partition.inc;
|
|
source include/have_tokudb.inc;
|
|
disable_warnings;
|
|
drop table if exists t1;
|
|
enable_warnings;
|
|
set @orig_table_open_cache = @@global.table_open_cache;
|
|
create table t1(a int) engine = tokudb partition by key(a) partitions 2 (partition p0 engine = tokudb, partition p1 engine = tokudb);
|
|
lock tables t1 read,t1 as t2 read,t1 as t3 read, t1 as t4 read, t1 as t5 read, t1 as t6 read, t1 as t7 read, t1 as t8 read, t1 as t9 read, t1 as t10 read;
|
|
set @@global.table_open_cache = 10;
|
|
begin;
|
|
insert into t1 values(1),(1);
|
|
# when the bug is present, this results in a lock wait timeout
|
|
--error ER_BAD_FIELD_ERROR
|
|
select * from t1 where c like _ucs2 0x039C0025 collate ucs2_unicode_ci;
|
|
# when the bug exists, this results in the assertion
|
|
# kc_info->cp_info[keynr] == NULL in tokudb/ha_tokudb.cc initialize_col_pack_info
|
|
--error ER_TABLE_EXISTS_ERROR
|
|
create table t1(c1 binary (1), c2 varbinary(1));
|
|
unlock tables;
|
|
drop table t1;
|
|
set @@global.table_open_cache = @orig_table_open_cache;
|