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

MyRocks: Gap Lock detector support

    XMLWordPrintable

Details

    Description

      InnoDB does "Gap Locking", while MyRocks doesn't. This causes different transaction isolation behavior between the two engines.

      In order to simplify migration, MyRocks team has added an SQL layer feature that

      • detects queries that are doing gap locks
      • optionally writes these queries into log
      • optionally aborts these queries (TODO: more details)

      The idea is that before the migration, one can run with InnoDB, and enable these to check if the queries are using Gap Locks, and if so, rewrite them to not do that.

      Relevant commits:
      9b439ee Add option to exclude tables from gap lock check
      6078c85 Preventing to write "Got error 122.." to err log on Gap Lock errors
      782cc5a Optionally block/log queries relying on Gap Locks

      There is no agreement about whether this can be ported to MariaDB.

      • Pro: FB team found this feature very useful when moving applications to MyRocks
      • Contra: It's a storage-engine specific feature, why is it present on the SQL layer?

      Attachments

        Issue Links

          Activity

            People

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