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

AIO release IO slots early in io_callback, to prevent stalls

    XMLWordPrintable

Details

    Description

      In rare situations, it is possible, that multiple slow IO callbacks will prevent submitting new IO.

      if all IO threads are callbacks are waiting (i.e number of active write and read callbacks reached maximum specified by innodb_read/write_io_threads, and all IO "slots" ((read-_threads+write_threads)*256) were submitted, then a thread would stuck waiting for a free slot.

      Thus, it makes sense to release this slot earlier, prior to calling user callback. A downside is that we'd have to copy userdata (currently, 40 bytes) before releasing the slot.

      Attachments

        Activity

          People

            wlad Vladislav Vaintroub
            wlad Vladislav Vaintroub
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

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