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

Spurious lock_wait_timeout_thread wakeup in lock_wait_suspend_thread()

    XMLWordPrintable

    Details

      Description

      http://bugs.mysql.com/bug.php?id=72123

      lock_timeout thread works in a tight loop waking up every second
      and checking for lock_wait_timeout. In addition, when a mysql
      thread is forced to wait on a lock, it signals the lock_timeout thread
      as well. This call is not required. In a heavily contended workload
      each thread going to wait will signal the lock_timeout thread making
      it work all the time. As lock_timeout thread scans the array of
      waiting threads under lock_sys::wait_mutex which is already very
      hot in contneded loads, these extra scans can cause significanct
      performance regression.

      Also, in various codepaths lock_timeout thread is signalled where
      actual intention was to signal the innodb monitor thread.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jplindst Jan Lindström
              Reporter:
              jplindst Jan Lindström
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: