[MDEV-19986] MyRocks: Range Locking: SeekForUpdate support Created: 2019-07-08 Updated: 2023-04-16 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - RocksDB |
| Fix Version/s: | N/A |
| Type: | Task | Priority: | Major |
| Reporter: | Sergei Petrunia | Assignee: | Sergei Petrunia |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Description |
|
This is to support "Seek For Update" functionality in Range Locking feature for RocksDB. Initial input
The codeMyRocks part: https://github.com/spetrunia/mysql-5.6/tree/range-locking-fb-mysql-5.6.35-seekforupdate Questions
|
| Comments |
| Comment by Sergei Petrunia [ 2019-07-08 ] | ||||||||||||||||||||||||||||
The APIClass Transaction has a new member function w/o implementation
PessimisticTransaction implements it :
GetLockingIterator returns an object that will implement all iterator methods (not all methods are implemented yet):
| ||||||||||||||||||||||||||||
| Comment by Sergei Petrunia [ 2019-07-08 ] | ||||||||||||||||||||||||||||
When to use SeekForUpdateAt the moment, MyRocks will use SeekForUpdate when the scanned range has no other bound. Example 1: this uses range access:
Example 2: this uses index access:
(Forward scans pass a basic test. Backward scans should be doable but I didn't have time to implement them, yet) TODO: is this a suitable criterion? |