1--source include/have_innodb.inc
2--source include/have_debug.inc
3--source include/big_test.inc
4
5--echo #
6--echo # Bug#32831765 SERVER HITS OOM CONDITION WHEN LOADING TWO
7--echo # INNODB TABLES WITH FTS INDEXES
8--echo #
9
10create table t1 ( `id` int unsigned NOT NULL AUTO_INCREMENT, `col01` text,
11`col02` text, `col03` text, `col04` text, `col05` text, `col06` text, `col07`
12text, `col08` text, `col09` text, `col10` text, `col11` text, `col12` text,
13`col13` text, `col14` text, `col15` text, `col16` text, `col17` text, `col18`
14text, `col19` text, `col20` text, `col21` text, `col22` text, `col23` text,
15`col24` text, `col25` text, `col26` text, `col27` text, `col28` text, `col29`
16text, `col30` text, PRIMARY KEY (`id`), FULLTEXT KEY (`col01`), FULLTEXT KEY
17(`col02`), FULLTEXT KEY (`col03`), FULLTEXT KEY (`col04`), FULLTEXT KEY
18(`col05`), FULLTEXT KEY (`col06`), FULLTEXT KEY (`col07`), FULLTEXT KEY
19(`col08`), FULLTEXT KEY (`col09`), FULLTEXT KEY (`col10`), FULLTEXT KEY
20(`col11`), FULLTEXT KEY (`col12`), FULLTEXT KEY (`col13`), FULLTEXT KEY
21(`col14`), FULLTEXT KEY (`col15`), FULLTEXT KEY (`col16`), FULLTEXT KEY
22(`col17`), FULLTEXT KEY (`col18`), FULLTEXT KEY (`col19`), FULLTEXT KEY
23(`col20`), FULLTEXT KEY (`col21`), FULLTEXT KEY (`col22`), FULLTEXT KEY
24(`col23`), FULLTEXT KEY (`col24`), FULLTEXT KEY (`col25`), FULLTEXT KEY
25(`col26`), FULLTEXT KEY (`col27`), FULLTEXT KEY (`col28`), FULLTEXT KEY
26(`col29`), FULLTEXT KEY (`col30`)) engine=innodb;
27
28create table t2 ( `id` int unsigned NOT NULL AUTO_INCREMENT, `col01` text,
29`col02` text, `col03` text, `col04` text, `col05` text, `col06` text, `col07`
30text, `col08` text, `col09` text, `col10` text, `col11` text, `col12` text,
31`col13` text, `col14` text, `col15` text, `col16` text, `col17` text, `col18`
32text, `col19` text, `col20` text, `col21` text, `col22` text, `col23` text,
33`col24` text, `col25` text, `col26` text, `col27` text, `col28` text, `col29`
34text, `col30` text, PRIMARY KEY (`id`), FULLTEXT KEY (`col01`), FULLTEXT KEY
35(`col02`), FULLTEXT KEY (`col03`), FULLTEXT KEY (`col04`), FULLTEXT KEY
36(`col05`), FULLTEXT KEY (`col06`), FULLTEXT KEY (`col07`), FULLTEXT KEY
37(`col08`), FULLTEXT KEY (`col09`), FULLTEXT KEY (`col10`), FULLTEXT KEY
38(`col11`), FULLTEXT KEY (`col12`), FULLTEXT KEY (`col13`), FULLTEXT KEY
39(`col14`), FULLTEXT KEY (`col15`), FULLTEXT KEY (`col16`), FULLTEXT KEY
40(`col17`), FULLTEXT KEY (`col18`), FULLTEXT KEY (`col19`), FULLTEXT KEY
41(`col20`), FULLTEXT KEY (`col21`), FULLTEXT KEY (`col22`), FULLTEXT KEY
42(`col23`), FULLTEXT KEY (`col24`), FULLTEXT KEY (`col25`), FULLTEXT KEY
43(`col26`), FULLTEXT KEY (`col27`), FULLTEXT KEY (`col28`), FULLTEXT KEY
44(`col29`), FULLTEXT KEY (`col30`)) engine=innodb;
45
46
47create table t3 ( `id` int unsigned NOT NULL AUTO_INCREMENT, `col01` text,
48`col02` text, `col03` text, `col04` text, `col05` text, `col06` text, `col07`
49text, `col08` text, `col09` text, `col10` text, `col11` text, `col12` text,
50`col13` text, `col14` text, `col15` text, `col16` text, `col17` text, `col18`
51text, `col19` text, `col20` text, `col21` text, `col22` text, `col23` text,
52`col24` text, `col25` text, `col26` text, `col27` text, `col28` text, `col29`
53text, `col30` text, PRIMARY KEY (`id`), FULLTEXT KEY (`col01`), FULLTEXT KEY
54(`col02`), FULLTEXT KEY (`col03`), FULLTEXT KEY (`col04`), FULLTEXT KEY
55(`col05`), FULLTEXT KEY (`col06`), FULLTEXT KEY (`col07`), FULLTEXT KEY
56(`col08`), FULLTEXT KEY (`col09`), FULLTEXT KEY (`col10`), FULLTEXT KEY
57(`col11`), FULLTEXT KEY (`col12`), FULLTEXT KEY (`col13`), FULLTEXT KEY
58(`col14`), FULLTEXT KEY (`col15`), FULLTEXT KEY (`col16`), FULLTEXT KEY
59(`col17`), FULLTEXT KEY (`col18`), FULLTEXT KEY (`col19`), FULLTEXT KEY
60(`col20`), FULLTEXT KEY (`col21`), FULLTEXT KEY (`col22`), FULLTEXT KEY
61(`col23`), FULLTEXT KEY (`col24`), FULLTEXT KEY (`col25`), FULLTEXT KEY
62(`col26`), FULLTEXT KEY (`col27`), FULLTEXT KEY (`col28`), FULLTEXT KEY
63(`col29`), FULLTEXT KEY (`col30`)) engine=innodb;
64
65create table t4 ( `id` int unsigned NOT NULL AUTO_INCREMENT, `col01` text,
66`col02` text, `col03` text, `col04` text, `col05` text, `col06` text, `col07`
67text, `col08` text, `col09` text, `col10` text, `col11` text, `col12` text,
68`col13` text, `col14` text, `col15` text, `col16` text, `col17` text, `col18`
69text, `col19` text, `col20` text, `col21` text, `col22` text, `col23` text,
70`col24` text, `col25` text, `col26` text, `col27` text, `col28` text, `col29`
71text, `col30` text, PRIMARY KEY (`id`), FULLTEXT KEY (`col01`), FULLTEXT KEY
72(`col02`), FULLTEXT KEY (`col03`), FULLTEXT KEY (`col04`), FULLTEXT KEY
73(`col05`), FULLTEXT KEY (`col06`), FULLTEXT KEY (`col07`), FULLTEXT KEY
74(`col08`), FULLTEXT KEY (`col09`), FULLTEXT KEY (`col10`), FULLTEXT KEY
75(`col11`), FULLTEXT KEY (`col12`), FULLTEXT KEY (`col13`), FULLTEXT KEY
76(`col14`), FULLTEXT KEY (`col15`), FULLTEXT KEY (`col16`), FULLTEXT KEY
77(`col17`), FULLTEXT KEY (`col18`), FULLTEXT KEY (`col19`), FULLTEXT KEY
78(`col20`), FULLTEXT KEY (`col21`), FULLTEXT KEY (`col22`), FULLTEXT KEY
79(`col23`), FULLTEXT KEY (`col24`), FULLTEXT KEY (`col25`), FULLTEXT KEY
80(`col26`), FULLTEXT KEY (`col27`), FULLTEXT KEY (`col28`), FULLTEXT KEY
81(`col29`), FULLTEXT KEY (`col30`)) engine=innodb;
82
83delimiter |;
84
85--echo #create procedure to inset into the table.
86CREATE  PROCEDURE `proc_insert`(IN tab_name VARCHAR(40))
87BEGIN
88	DECLARE i INT DEFAULT 1;
89	SET @insert_tbl =CONCAT('INSERT INTO ', tab_name, '( `col01`, `col02`,
90	`col03`, `col04`, `col05`, `col06`, `col07`, `col08`, `col09`, `col10`,
91	`col11`, `col12`, `col13`, `col14`, `col15`, `col16`, `col17`, `col18`,
92	`col19`, `col20`, `col21`, `col22`, `col23`, `col24`, `col25`, `col26`,
93	`col27`, `col28`, `col29`, `col30`)
94	VALUES ( MD5(RAND()), MD5(RAND()), MD5(RAND()), MD5(RAND()),
95	MD5(RAND()), MD5(RAND()), MD5(RAND()), MD5(RAND()), MD5(RAND()),
96	MD5(RAND()), MD5(RAND()), MD5(RAND()), MD5(RAND()), MD5(RAND()),
97	MD5(RAND()), MD5(RAND()), MD5(RAND()), MD5(RAND()), MD5(RAND()),
98	MD5(RAND()), MD5(RAND()), MD5(RAND()), MD5(RAND()), MD5(RAND()),
99	MD5(RAND()), MD5(RAND()), MD5(RAND()), MD5(RAND()), MD5(RAND()),
100	MD5(RAND()))');
101	PREPARE ins_stmt FROM @insert_tbl;
102	while (i <= 2000) DO
103		EXECUTE ins_stmt;
104		SET i = i + 1;
105	END WHILE;
106	DEALLOCATE PREPARE ins_stmt;
107END |
108
109delimiter ;|
110
111# Ensure that the number of SYNC requests will not exceed 1000.
112SET @save_dbug= @@GLOBAL.debug_dbug;
113SET GLOBAL debug_dbug="+d,fts_optimize_wq_count_check";
114
115connect (con1,localhost,root,,);
116send call proc_insert('t1');
117connect (con2,localhost,root,,);
118send call proc_insert('t1');
119connect (con3,localhost,root,,);
120send call proc_insert('t2');
121connect (con4,localhost,root,,);
122send call proc_insert('t2');
123connect (con5,localhost,root,,);
124send call proc_insert('t3');
125connect (con6,localhost,root,,);
126send call proc_insert('t3');
127connect (con7,localhost,root,,);
128send call proc_insert('t4');
129
130connection default;
131call proc_insert('t4');
132SET GLOBAL debug_dbug= @save_dbug;
133
134connection con1;
135reap;
136disconnect con1;
137
138connection con2;
139reap;
140disconnect con2;
141
142connection con3;
143reap;
144disconnect con3;
145
146connection con4;
147reap;
148disconnect con4;
149
150connection con5;
151reap;
152disconnect con5;
153
154connection con6;
155reap;
156disconnect con6;
157
158connection con7;
159reap;
160disconnect con7;
161
162connection default;
163DROP TABLE t1,t2,t3,t4;
164DROP PROCEDURE proc_insert;
165