Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
None
-
None
Description
When using InnoDB engine for temporary tables, reclaiming of free table space does not seem to work.
Periodically performing statements that force the server to write into InnoDB temporary tablespace eventually results in the reaching of maximum size of temporary table space or even a full disk.
I was able to reproduce this behaviour by execution of following statements more times even when the connection between the executions is dropped:
create temporary table temp_random ( |
id bigint primary key, |
random decimal not null |
);
|
insert into temp_random(id, random) select seq, rand() from seq_0_to_2000000; |
drop temporary table temp_random; |
After each execution grow the file /var/lib/mysql/ibtmp1 in size
Expected behaviour:
The file /var/lib/mysql/ibtmp1 should grow in size only after first execution. After second an further execution should the file size stay eventually unchnaged as the space claimed by the first execution should be reused by the further executions.
Last version where the expected behaviour was observed: 10.5.11
Workarround: explicitly setting engine for temporary tables to MyISAM
Attachments
Issue Links
- is blocked by
-
MDEV-13013 InnoDB unnecessarily extends data files
- Closed
- relates to
-
MDEV-26790 InnoDB read-ahead may cause page writes
- Closed
-
MDEV-28038 Why is there a big gap in the actual Table space? (calculated vs information_schema vs file size)
- Open
-
MDEV-28240 InnoDB Temporary Tablespace (ibtmp1) is continuously growing
- Closed
-
MDEV-29593 Purge misses a chance to free not-yet-reused undo pages
- Closed
-
MDEV-12227 Defer writes to the InnoDB temporary tablespace
- Closed
-
MDEV-27886 innodb temporay tablespace files are not shown correctly
- Closed
-
MDEV-28699 Shrink temporary tablespaces without restart
- Closed