You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This patch implements a configurable gap_lock_raise_error system variable for MyRocks storage engine with three modes:
OFF (default): Disables gap lock error detection
WARNING: Issues warnings when gap locks would be used
ERROR: Throws errors when gap locks would be used
The feature leverages MyRocks' snapshot isolation to maintain REPEATABLE READ semantics while providing a migration path from InnoDB's gap locking behavior. Includes test coverage for all modes.
@inikep thanks for finding these. Would Percona be interested in adopting these patches?
From usability perspective, gap_lock_raise_error is the most useful. For the file-related options, I have observed that using them is not as beneficial as returning the right error or warning to the user about the usage of Gap Locks. The ability to set it off is also useful when shadowing traffic to a MyRocks capable instance where the queries do not fail fatally with error but instead rely on Snapshot Isolation based MVCC.
Additionally the handling of warning in this port is less accommodating, in that it still returns a generic error but returns a specific warning. Maybe we can make the generic error go and away and solely generate the warning indicating usage of Gap Locks.
Any thoughts?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://perconadev.atlassian.net/browse/PS-10098
This patch implements a configurable gap_lock_raise_error system variable for MyRocks storage engine with three modes:
The feature leverages MyRocks' snapshot isolation to maintain REPEATABLE READ semantics while providing a migration path from InnoDB's gap locking behavior. Includes test coverage for all modes.
Patch inspired from the original commit from Upstream.