mirror of
https://github.com/MariaDB/server.git
synced 2025-07-24 19:42:23 +03:00
MDEV-33751 Assertion `thd' failed in int temp_file_size_cb_func(tmp_file_tracking*, int)
Changes: - Fixed that MyISAM and Aria parallel repair works with tmp file limit. This required to add current_thd to all parallel workers and add protection in my_malloc_size_cb_func() and temp_file_size_cb_func() to be able to handle shared THD's. I removed the old code in MyISAM to set current_thd() as only worked when using with virtal indexed columns and I wanted to keep the Aria and MyISAM code identical. Other things: - Improved error messages from Aria parallel repair and create_internal_tmp_table_from_heap().
This commit is contained in:
@ -209,4 +209,26 @@ set max_tmp_session_space_usage = 1024*1024;
|
||||
--error 201
|
||||
select count(distinct concat(seq,repeat('x',1000))) from seq_1_to_1000;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-33751 Assertion `thd' failed in int
|
||||
--echo # temp_file_size_cb_func(tmp_file_tracking*, int)
|
||||
--echo #
|
||||
|
||||
set @@global.max_tmp_session_space_usage=64*1024*1024;
|
||||
set @@max_tmp_session_space_usage=1179648;
|
||||
select @@max_tmp_session_space_usage;
|
||||
set @save_aria_repair_threads=@@aria_repair_threads;
|
||||
set @@aria_repair_threads=2;
|
||||
set @save_max_heap_table_size=@@max_heap_table_size;
|
||||
set @@max_heap_table_size=16777216;
|
||||
|
||||
CREATE TABLE t1 (a CHAR(255),b INT,INDEX (b));
|
||||
INSERT INTO t1 SELECT SEQ,SEQ FROM seq_1_to_100000;
|
||||
--error 200
|
||||
SELECT * FROM t1 UNION SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
set @@aria_repair_threads=@save_aria_repair_threads;
|
||||
set @@max_heap_table_size=@save_max_heap_table_size;
|
||||
|
||||
--echo # End of 11.5 tests
|
||||
|
Reference in New Issue
Block a user