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

Deadlock when setting replication system variables

    XMLWordPrintable

Details

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

    Description

      There are a number of deadlock problems when setting replication system
      variables rpl_do_, rpl_ignore_, rpl_wild_*, slave_skip_counter,
      slave_net_timeout.

      The setting of these takes LOCK_active_mi (and some of them also
      active_mi->rld.run_lock) while holding LOCK_global_system_variables. But slave
      start takes these locks in the opposite order (due to THD::init() taking
      LOCK_global_system_variables).

      The fix is to temporarily unlock LOCK_global_system_variables while taking the
      replication locks.

      Thanks to Davi Arnaut for finding this bug and providing the fix:

      https://github.com/twitter/mysql/commit/be79b5405c0d6528c936733270319dab7b1e289a

      Attachments

        Activity

          People

            knielsen Kristian Nielsen
            knielsen Kristian Nielsen
            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.