Uploaded image for project: 'Percona Server'
  1. Percona Server
  2. PS-1776

LP #1658843: MyRocks - gap lock error logic does not account for ISO mode

    Details

    • Type: Bug
    • Status: Done
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None

      Description

      **Reported in Launchpad by George Ormond Lorch III last update 25-01-2017 19:05:57

      https://jira.percona.com/browse/MYR-35

      Our gap lock error implementation (from MYR-15) currently is not taking into account the current ISO mode. This logic should be changed to amend an additional condition before deciding to error to the client:

      && thd_tx_isolation(thd) >= ISO_REPEATABLE_READ
      

      Therefore, if the ISO is <= READ COMMITTED, the gap lock error will not be raised in the condition of a gap lock, but as the ISO mode moves any further north in the consistency scale to REPEATABLE READ or SERIALIZABLE, then the gap lock error will be raised when conditions are met.

      We will need to clearly document this behavior and the suggested default ISO mode of READ COMMITTED with MyRocks use cases. We will also need to update the MyRocks mtr suites to explicitly test ISO modes against the gap lock error, change the default ISO mode for the suites to READ COMMITTED, and re-word the error message.

        Smart Checklist

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                lpjirasync lpjirasync (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: