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

CREATE INDEX leaks memory if running out of undo log space

    Details

    • Sprint:
      10.3.6-1

      Description

      The test innodb.alter_crash fails due to a memory leak.
      The reduced test case is as follows:

      --source include/not_embedded.inc
      --source include/have_innodb.inc
      --source include/have_debug.inc
      CREATE TABLE t1(c1 INT) ENGINE=InnoDB;
      SET DEBUG_DBUG='+d,ib_create_table_fail_too_many_trx';
      --error ER_TOO_MANY_CONCURRENT_TRXS
      CREATE INDEX c1 ON t1 (c1);
      --source include/restart_mysqld.inc
      DROP TABLE t1;
      

      The leak occurs when row_merge_create_index_graph() returns an error to row_merge_create_index(). The injected error is triggered when a SYS_INDEXES record is about to be inserted for the created index.

      The error cannot be reproduced on MariaDB 10.0 or 10.1. A possible reason is that the code may have been refactored in WL#6501 TRUNCATE TABLE in MySQL 5.7.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                marko Marko Mäkelä
                Reporter:
                marko Marko Mäkelä
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: