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

LP:711565 - Index Condition Pushdown can make a thread hold MyISAM locks as well as be unKILLable for long time

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      When Index Condition Pushdown is employed, a single index lookup call like handler->index_read(lookup_tuple,...) can potentially enumerate lots (e.g. hundred of thousands) of index records before it finds one that satisfies the pushed index condition.

      The problems are:
      P1: MyISAM/Maria hold locks while enumerating those records, which means that one long query may stall others.
      P2: For all storage engines: the state of thd->killed is not checked. This means that if one decides to kill the query (with KILL <thread_id> statement), it may take a very long time before the query is actually killed.

      There is no testcase: Monty has found this out from the code (and provided a patch to address a problem with mi_rkey())

      Attachments

        Activity

          People

            Unassigned Unassigned
            psergei Sergei Petrunia
            Votes:
            0 Vote for this issue
            Watchers:
            0 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.