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

Excessive mutex contention in DeadlockChecker::check_and_resolve()

Details

    Description

      The function DeadlockChecker::check_and_resolve() is being executed while continuously holding lock_sys.mutex. Moving the deadlock detection to lock_wait() (which was refactored in MDEV-24671) will allow the check to release lock_sys.mutex between search iterations.

      It may also be possible to avoid holding lock_sys.mutex altogether, and instead only use lock_sys.wait_mutex and various trx_t::mutex.

      Attachments

        Issue Links

          Activity

            marko Marko Mäkelä created issue -
            marko Marko Mäkelä made changes -
            Field Original Value New Value
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            marko Marko Mäkelä made changes -
            issue.field.resolutiondate 2021-02-04 15:56:25.0 2021-02-04 15:56:25.226
            marko Marko Mäkelä made changes -
            Fix Version/s 10.6.0 [ 24431 ]
            Fix Version/s 10.6 [ 24028 ]
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Closed [ 6 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 118599 ] MariaDB v4 [ 158831 ]

            People

              marko Marko Mäkelä
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.