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

ER_FILSORT_ABORT triggers - crash query when "for update" in a select statement

    XMLWordPrintable

    Details

      Description

      Hi,

      MariaDb server crashes when a query like this is executed repeatedly:

      SELECT m.* FROM messenger_messages_fr1 m WHERE (m.delivered_at is null OR m.delivered_at < '2021-07-30 1
      1:35:00') AND (m.available_at <= '2021-07-30 12:35:00') AND (m.queue_name = 'mailer_async') ORDER BY available_at ASC LIMIT 1 FOR UPDATE

      Logs show this:

      0x7faff3f8f640 InnoDB: Assertion failure in file /var/tmp/portage/dev-db/mariadb-10.5.10-r1/work/mysql/storage/innobase/lock/lock0lock.cc line 6682
      InnoDB: We intentionally generate a memory trap.
      InnoDB: Submit a detailed bug report to https://jira.mariadb.org/

      I am using the Messenger component from Symfony, which runs this query, I detected that when 2 servers are connected to the same database, and run the same symfony command for mananing queues, when both commands try to lock the same row repeatedly, this error happens.

      This error is experienced both using a single database and multiple in a galera cluster setup.

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            samuelvi Samuel Vicent
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:

                Git Integration