Bug #36613 | Creating many tables with many columns in innodb leads to out of memory | ||
---|---|---|---|
Submitted: | 9 May 2008 5:33 | Modified: | 27 May 2008 13:05 |
Reporter: | Markus Schindler | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S2 (Serious) |
Version: | 5.1.24 | OS: | Any |
Assigned to: | Assigned Account | CPU Architecture: | Any |
Tags: | innodb |
[9 May 2008 5:33]
Markus Schindler
[9 May 2008 5:34]
Markus Schindler
fixed tag
[10 May 2008 2:44]
Markus Schindler
Just verified today, with latest innodb plugin 1.01 the same problem present. addition to my.cnf: innodb_file_format="Barracuda"
[11 May 2008 10:39]
Sveta Smirnova
Thank you for the report. Verified as described with exception I used my-huge.cnf both with innodb_file_per_table and without this setting and got same results. Bug is not repeatable with MyISAM storage engine.
[27 May 2008 10:35]
Mattias Jonsson
This is not a partitioning bug, but a bug within the innodb engine. (It is just that when using partitioning it is easier to find, since there will create more 'table definition/column definitions' than when using non partitioned innodb tables. It is repeatable with non partitioned innodb (but on my machine, 4GB macbook, it takes 3000 tables instead of 30 tables with 100 partitions.) As I understand, it only pushed table definitions into the dict_sys.table_LRU when doing CREATE TABLE and it does not check how many tables already in it (and therefore not removing any tables). And eventually it uses all memory on the machine and dies of out-of-memory (which is also reported in the logs). It did not occur when the tables are already created (after a restart of the server and the select from each and every table). FLUSH TABLES does not help releasing dict_sys.table_LRU and recover the used memory. I will add a test case without partitioning.
[27 May 2008 11:25]
Mattias Jonsson
test cases (and include files) for verifying bug. test oom_500_col_innodb_2.test can be used for testing without partitioning
Attachment: bug36613_oom-tests.tgz (application/x-gzip, text), 2.61 KiB.
[27 May 2008 11:28]
MySQL Verification Team
related to bug #20877 ?