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

Galera conflict resolution is unnecessarily complex

Details

    Description

      The fix of MDEV-23328 introduced a background thread for killing conflicting transactions. In 10.6, thanks to the refactoring that was conducted in MDEV-24671, the high-priority ("brute-force") applier thread can kill the conflicting transactions itself, before waiting for the locks to be finally released (after the conflicting transactions have been rolled back), in the lock_wait() function.

      This will also allow us to remove the Galera hack LockGGuard that had to be added in MDEV-20612, and remove Galera-related function parameters from lock creation.

      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 -
            marko Marko Mäkelä made changes -
            Description The fix of MDEV-23328 introduced a background thread for killing conflicting transactions. In 10.6, thanks to the refactoring that was conducted in MDEV-24671, we can simply kill those transactions in the high-priority ("brute-force") applier thread that seeks to break those locks by aborting the transactions that hold the conflicting locks, in the {{lock_wait()}} function.

            This will also allow us to remove the Galera hack {{LockGGuard}} that had to be added in MDEV-20612, and remove Galera-related function parameters from lock creation.
            The fix of MDEV-23328 introduced a background thread for killing conflicting transactions. In 10.6, thanks to the refactoring that was conducted in MDEV-24671, the high-priority ("brute-force") applier thread can kill the conflicting transactions itself, before waiting for the locks to be finally released (after the conflicting transactions have been rolled back), in the {{lock_wait()}} function.

            This will also allow us to remove the Galera hack {{LockGGuard}} that had to be added in MDEV-20612, and remove Galera-related function parameters from lock creation.
            marko Marko Mäkelä made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            marko Marko Mäkelä made changes -
            issue.field.resolutiondate 2021-02-18 14:25:52.0 2021-02-18 14:25:52.908
            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 ]
            jplindst Jan Lindström (Inactive) made changes -
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 119278 ] MariaDB v4 [ 158923 ]

            People

              marko Marko Mäkelä
              marko Marko Mäkelä
              Votes:
              1 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.