Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-29958

Creation of table with too large definition does not obey KILL/max_statement_time

    XMLWordPrintable

Details

    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.

      10.3 92be8d20

      show processlist;
      Id	User	Host	db	Command	Time	State	Info	Progress
      4	root	localhost	test	Query	0	Init	show processlist	0.000
      5	root	localhost	test	Query	0	Init	CREATE TABLE t (a ENUM('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','	0.000
      ...
      show processlist;
      Id	User	Host	db	Command	Time	State	Info	Progress
      4	root	localhost	test	Query	0	Init	show processlist	0.000
      5	root	localhost	test	Query	3	Creating table	CREATE TABLE t (a ENUM('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','	0.000
      show processlist;
      Id	User	Host	db	Command	Time	State	Info	Progress
      4	root	localhost	test	Query	0	Init	show processlist	0.000
      5	root	localhost	test	Killed	4	Creating table	CREATE TABLE t (a ENUM('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','	0.000
      ...
      show processlist;
      Id	User	Host	db	Command	Time	State	Info	Progress
      4	root	localhost	test	Query	0	Init	show processlist	0.000
      5	root	localhost	test	Killed	25	Creating table	CREATE TABLE t (a ENUM('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','	0.000
      connection con1;
      ERROR HY000: Table definition is too large
      

      Reproducible on all of 10.3-10.11. Non-debug builds naturally run faster, but are affected as well.

      Attachments

        Activity

          People

            sanja Oleksandr Byelkin
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.