[MDEV-15925] FRM_MAX_SIZE too low for some use cases Created: 2018-04-18 Updated: 2020-08-25 Resolved: 2019-01-21 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Data Definition - Alter Table, Partitioning, Server |
| Affects Version/s: | 10.1.36, 10.2.14, 10.3.7 |
| Fix Version/s: | 10.1.38, 10.0.38, 10.2.22, 10.3.13 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Geoff Montee (Inactive) | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | alter, create_table | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
|
As part of
This limit is a bit low for some use cases. Especially for some Spider tables that have a lot of partitions, and which have long COMMENT strings that say on which server and which table each partition is located. |
| Comments |
| Comment by Valerii Kravchuk [ 2018-12-26 ] | |||||||||||||||||||||||||||||||||
|
It seems even smaller CREATE TABLE (359791 bytes in .sql form) with many (4000) partitions by LIST of long strings (content can not be shared in public) can not be successfully processed:
Moreover, it seems the limit is not enforced so strict when ALTER TABLE is executed to add partitions one by one, as that way the table can be created that later can NOT be recreated from the output of SHOW CREATE TABLE. | |||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2019-01-03 ] | |||||||||||||||||||||||||||||||||
|
Could you please provide a test case how ALTER TABLE allows to bypess the frm size limit? | |||||||||||||||||||||||||||||||||
| Comment by Valerii Kravchuk [ 2019-01-03 ] | |||||||||||||||||||||||||||||||||
|
I was my assumption that ALTER may allow that. In fact the following test on 10.1.34 shows ALTER respects the limit:
That for loop eventually fails after creating 4084 partitions:
The resulting .frm file is withing limits and I can dump and restore the table on 10.1.x:
But when I try to restore the same dump on 10.3.7 on Windows, it fails:
See tp.sql uploaded. To summarize, we have two problems confirmed by my test: 1. 512K limit is too small (so we need it increased). 2. ALTER on 10.1.x allows to create partitioned table that can not be re-created from the dump on 10.3.7. |