mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Remove a useless large test, and add a debug assertion
The test innodb_fts.fulltext_table_evict was only creating 1000 tables with fulltext indexes, only to check that no tables with fulltext indexes are being evicted. The reason why tables containing fulltext indexes cannot be evicted is that fts_optimize_init() invokes dict_table_prevent_eviction().
This commit is contained in:
@ -1,19 +0,0 @@
|
|||||||
#
|
|
||||||
# Bug Bug #27304661 MYSQL CRASH DOING SYNC INDEX ]
|
|
||||||
# [FATAL] INNODB: SEMAPHORE WAIT HAS LASTED > 600
|
|
||||||
#
|
|
||||||
CREATE TABLE t1 (
|
|
||||||
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
|
|
||||||
f1 TEXT(500),
|
|
||||||
FULLTEXT idx (f1)
|
|
||||||
) ENGINE=InnoDB;
|
|
||||||
insert into t1 (f1) values ('fjdhfsjhf'),('dhjfhjshfj'),('dhjafjhfj');
|
|
||||||
set @save_table_definition_cache=@@global.table_definition_cache;
|
|
||||||
set @save_table_open_cache=@@global.table_open_cache;
|
|
||||||
set global table_definition_cache=400;
|
|
||||||
set global table_open_cache= 1024;
|
|
||||||
SET @save_dbug = @@GLOBAL.debug_dbug;
|
|
||||||
SET GLOBAL DEBUG_DBUG="+d,crash_if_fts_table_is_evicted";
|
|
||||||
set @@global.table_definition_cache=@save_table_definition_cache;
|
|
||||||
set @@global.table_open_cache=@save_table_open_cache;
|
|
||||||
drop table t1;
|
|
@ -1,49 +0,0 @@
|
|||||||
--source include/have_innodb.inc
|
|
||||||
--source include/have_debug.inc
|
|
||||||
--source include/big_test.inc
|
|
||||||
--source include/have_64bit.inc
|
|
||||||
|
|
||||||
--echo #
|
|
||||||
--echo # Bug Bug #27304661 MYSQL CRASH DOING SYNC INDEX ]
|
|
||||||
--echo # [FATAL] INNODB: SEMAPHORE WAIT HAS LASTED > 600
|
|
||||||
--echo #
|
|
||||||
|
|
||||||
CREATE TABLE t1 (
|
|
||||||
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
|
|
||||||
f1 TEXT(500),
|
|
||||||
FULLTEXT idx (f1)
|
|
||||||
) ENGINE=InnoDB;
|
|
||||||
insert into t1 (f1) values ('fjdhfsjhf'),('dhjfhjshfj'),('dhjafjhfj');
|
|
||||||
|
|
||||||
--source include/restart_mysqld.inc
|
|
||||||
|
|
||||||
set @save_table_definition_cache=@@global.table_definition_cache;
|
|
||||||
set @save_table_open_cache=@@global.table_open_cache;
|
|
||||||
|
|
||||||
set global table_definition_cache=400;
|
|
||||||
set global table_open_cache= 1024;
|
|
||||||
|
|
||||||
SET @save_dbug = @@GLOBAL.debug_dbug;
|
|
||||||
SET GLOBAL DEBUG_DBUG="+d,crash_if_fts_table_is_evicted";
|
|
||||||
#Create 1000 tables, try the best to evict t1 .
|
|
||||||
|
|
||||||
--disable_query_log
|
|
||||||
let $loop=1000;
|
|
||||||
while($loop)
|
|
||||||
{
|
|
||||||
eval create table t_$loop(id int, name text(100), fulltext idxt_$loop(name) )engine=innodb;
|
|
||||||
dec $loop;
|
|
||||||
}
|
|
||||||
|
|
||||||
let $loop=1000;
|
|
||||||
while($loop)
|
|
||||||
{
|
|
||||||
eval drop table t_$loop;
|
|
||||||
dec $loop;
|
|
||||||
}
|
|
||||||
|
|
||||||
SET GLOBAL DEBUG_DBUG = @save_dbug;
|
|
||||||
--enable_query_log
|
|
||||||
set @@global.table_definition_cache=@save_table_definition_cache;
|
|
||||||
set @@global.table_open_cache=@save_table_open_cache;
|
|
||||||
drop table t1;
|
|
@ -519,7 +519,6 @@ innodb.xa_recovery : MDEV-15279 - mysqld got exception
|
|||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
|
|
||||||
innodb_fts.fulltext2 : Modified in 10.2.26
|
innodb_fts.fulltext2 : Modified in 10.2.26
|
||||||
innodb_fts.fulltext_table_evict : Modified in 10.2.27
|
|
||||||
innodb_fts.innodb_fts_misc : Modified in 10.2.27
|
innodb_fts.innodb_fts_misc : Modified in 10.2.27
|
||||||
innodb_fts.innodb_fts_misc_debug : MDEV-14156 - Unexpected warning
|
innodb_fts.innodb_fts_misc_debug : MDEV-14156 - Unexpected warning
|
||||||
innodb_fts.innodb_fts_plugin : MDEV-13888 - Errors in server log
|
innodb_fts.innodb_fts_plugin : MDEV-13888 - Errors in server log
|
||||||
|
@ -1442,14 +1442,7 @@ dict_make_room_in_cache(
|
|||||||
prev_table = UT_LIST_GET_PREV(table_LRU, table);
|
prev_table = UT_LIST_GET_PREV(table_LRU, table);
|
||||||
|
|
||||||
if (dict_table_can_be_evicted(table)) {
|
if (dict_table_can_be_evicted(table)) {
|
||||||
|
ut_ad(!table->fts);
|
||||||
DBUG_EXECUTE_IF("crash_if_fts_table_is_evicted",
|
|
||||||
{
|
|
||||||
if (table->fts &&
|
|
||||||
dict_table_has_fts_index(table)) {
|
|
||||||
ut_ad(0);
|
|
||||||
}
|
|
||||||
};);
|
|
||||||
dict_table_remove_from_cache_low(table, TRUE);
|
dict_table_remove_from_cache_low(table, TRUE);
|
||||||
|
|
||||||
++n_evicted;
|
++n_evicted;
|
||||||
|
Reference in New Issue
Block a user