[MDEV-29958] Creation of table with too large definition does not obey KILL/max_statement_time Created: 2022-11-06 Updated: 2023-11-28 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Data Definition - Create Table |
| Affects Version/s: | 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10 |
| Fix Version/s: | 10.4, 10.5, 10.6 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Elena Stepanova | Assignee: | Oleksandr Byelkin |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
| Description |
|
The test case only consists of one CREATE attempt and a thread demonstrating processlist, nothing complicated, but it has to be attached because it doesn't fit into JIRA description. The table definition in the test case has a very long list of ENUM values – while within the theoretical limits, obviously exceeding the real ones. The attempt to create the table or alter an existing table with such a change eventually adds with ER_TOO_MANY_FIELDS (Table definition is too large), which is probably all right. The problem is that the attempt proceeds to the end even if the query is interrupted in the process, either by KILL or by exceeded max_statement_time. Note how the status changes to Killed after max_statement_time, but the query remains in the processlist and ends with its own error, not with the interruption.
Reproducible on all of 10.3-10.11. Non-debug builds naturally run faster, but are affected as well. |