summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThirunarayanan Balathandayuthapani <thiru@mariadb.com>2022-06-14 16:52:47 +0530
committerThirunarayanan Balathandayuthapani <thiru@mariadb.com>2022-06-14 16:53:23 +0530
commit6c669b9586f72d6d760cc3956c1a0cb09ace2367 (patch)
treeaa2a8042c2450e9a75b424adf49b8c67e9bec8f8
parent1f1fa7e09c19da5177aa04897e49b8e7c0107df8 (diff)
downloadmariadb-git-6c669b9586f72d6d760cc3956c1a0cb09ace2367.tar.gz
MDEV-25581 Allow user thread to do InnoDB fts cache sync
- innodb_fts.sync_block doesn't make sense after MDEV-25581's patch because fts cache syncing is done as a part of insert operation and it leads to completion of select over insert sometimes. This test case is not relevant any more
-rw-r--r--mysql-test/suite/innodb_fts/r/sync_block.result54
-rw-r--r--mysql-test/suite/innodb_fts/t/sync_block.test78
2 files changed, 0 insertions, 132 deletions
diff --git a/mysql-test/suite/innodb_fts/r/sync_block.result b/mysql-test/suite/innodb_fts/r/sync_block.result
deleted file mode 100644
index c105a3d3b12..00000000000
--- a/mysql-test/suite/innodb_fts/r/sync_block.result
+++ /dev/null
@@ -1,54 +0,0 @@
-SET @old_log_output = @@global.log_output;
-SET @old_slow_query_log = @@global.slow_query_log;
-SET @old_general_log = @@global.general_log;
-SET @old_long_query_time = @@global.long_query_time;
-SET @old_debug = @@global.debug_dbug;
-SET GLOBAL log_output = 'TABLE';
-SET GLOBAL general_log = 1;
-SET GLOBAL slow_query_log = 1;
-SET GLOBAL long_query_time = 1;
-connect con1,localhost,root,,;
-connect con2,localhost,root,,;
-connection default;
-# Case 1: Sync blocks DML(insert) on the same table.
-CREATE TABLE t1 (
-FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
-title VARCHAR(200),
-FULLTEXT(title)
-) ENGINE = InnoDB;
-connection con1;
-SET GLOBAL debug_dbug='+d,fts_instrument_sync_debug,fts_instrument_sync_sleep';
-SET DEBUG_SYNC= 'fts_sync_begin SIGNAL begin WAIT_FOR continue';
-INSERT INTO t1(title) VALUES('mysql database');
-connection con2;
-SET DEBUG_SYNC= 'now WAIT_FOR begin';
-SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
-connection default;
-SET DEBUG_SYNC= 'now SIGNAL continue';
-connection con1;
-/* connection con1 */ INSERT INTO t1(title) VALUES('mysql database');
-connection con2;
-/* conneciton con2 */ SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
-FTS_DOC_ID title
-1 mysql database
-connection default;
-# make con1 & con2 show up in mysql.slow_log
-SELECT SLEEP(2);
-SLEEP(2)
-0
-# slow log results should only contain INSERT INTO t1.
-SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';
-sql_text
-INSERT INTO t1(title) VALUES('mysql database')
-SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database')
-SET GLOBAL debug_dbug = @old_debug;
-TRUNCATE TABLE mysql.slow_log;
-DROP TABLE t1;
-SET DEBUG_SYNC=RESET;
-disconnect con1;
-disconnect con2;
-# Restore slow log settings.
-SET GLOBAL log_output = @old_log_output;
-SET GLOBAL general_log = @old_general_log;
-SET GLOBAL slow_query_log = @old_slow_query_log;
-SET GLOBAL long_query_time = @old_long_query_time;
diff --git a/mysql-test/suite/innodb_fts/t/sync_block.test b/mysql-test/suite/innodb_fts/t/sync_block.test
deleted file mode 100644
index 705567296f7..00000000000
--- a/mysql-test/suite/innodb_fts/t/sync_block.test
+++ /dev/null
@@ -1,78 +0,0 @@
-#
-# BUG#22516559 MYSQL INSTANCE STALLS WHEN SYNCING FTS INDEX
-#
-
---source include/have_innodb.inc
---source include/have_debug.inc
---source include/have_debug_sync.inc
---source include/have_log_bin.inc
---source include/count_sessions.inc
-
-SET @old_log_output = @@global.log_output;
-SET @old_slow_query_log = @@global.slow_query_log;
-SET @old_general_log = @@global.general_log;
-SET @old_long_query_time = @@global.long_query_time;
-SET @old_debug = @@global.debug_dbug;
-
-SET GLOBAL log_output = 'TABLE';
-SET GLOBAL general_log = 1;
-SET GLOBAL slow_query_log = 1;
-SET GLOBAL long_query_time = 1;
-
-connect (con1,localhost,root,,);
-connect (con2,localhost,root,,);
-connection default;
-
---echo # Case 1: Sync blocks DML(insert) on the same table.
-CREATE TABLE t1 (
- FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
- title VARCHAR(200),
- FULLTEXT(title)
-) ENGINE = InnoDB;
-
-connection con1;
-
-SET GLOBAL debug_dbug='+d,fts_instrument_sync_debug,fts_instrument_sync_sleep';
-
-SET DEBUG_SYNC= 'fts_sync_begin SIGNAL begin WAIT_FOR continue';
-
-send INSERT INTO t1(title) VALUES('mysql database');
-
-connection con2;
-
-SET DEBUG_SYNC= 'now WAIT_FOR begin';
-
-send SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
-
-connection default;
-SET DEBUG_SYNC= 'now SIGNAL continue';
-
-connection con1;
---echo /* connection con1 */ INSERT INTO t1(title) VALUES('mysql database');
---reap
-
-connection con2;
---echo /* conneciton con2 */ SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
---reap
-
-connection default;
--- echo # make con1 & con2 show up in mysql.slow_log
-SELECT SLEEP(2);
--- echo # slow log results should only contain INSERT INTO t1.
-SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';
-
-SET GLOBAL debug_dbug = @old_debug;
-TRUNCATE TABLE mysql.slow_log;
-
-DROP TABLE t1;
-SET DEBUG_SYNC=RESET;
-disconnect con1;
-disconnect con2;
-
---source include/wait_until_count_sessions.inc
-
--- echo # Restore slow log settings.
-SET GLOBAL log_output = @old_log_output;
-SET GLOBAL general_log = @old_general_log;
-SET GLOBAL slow_query_log = @old_slow_query_log;
-SET GLOBAL long_query_time = @old_long_query_time;