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

left join hangs in optimizing state, consumes all memory and leads to crash

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 5.5.30
    • Fix Version/s: 10.0.3, 5.5.31, 5.3.13
    • Component/s: None
    • Labels:
    • Environment:
      Linux 3.2.0-38-generic

      Description

      Create a table like this

      CREATE TABLE `foo` (
        `id` int(11) NOT NULL,
        `modified` datetime NOT NULL,
        PRIMARY KEY (`id`)
      );
      

      Then run the following query to crash the server:

      select a.* from foo a left join foo b on a.id = b.id where a.modified > b.modified or b.modified is null;
      

      The query will enter the optimizing state and start consuming memory (and swap, if applicable) until the server runs out of memory and mysqld is killed.

      Note that it does not matter whether the table is an InnoDB or MyISAM table. MySQL 5.5.29 does not exhibit this behavior.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                igor Igor Babaev
                Reporter:
                martijnotto Martijn Otto
              • Votes:
                3 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: