Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
1. Lock management logic will be introduced in IGNITE-17255
2. Lock storages will be introduced in IGNITE-15932
Given ticket is a sort of a bridge between 1 and 2 that will adjust LockManager methods along with corresponding implementation with LockMode parameter that will clarify whether lock is
- Exclusive
- Shared
- IntentExclusive
- IntentShared
- SharedAndIntentExclusive
CompletableFuture<Lock> acquire(UUID txId, <?> lockName LockMode lockMode); void release(Object key, UUID txId, Lock lock, LockMode lockMode) throws LockException; Iterator<Lock> locks(UUID txId)
lockName is a sort of lock locator, that either:
- RowId for data storage locks.
- UUID or similar to table/index commonly intent locks.
- Index keys.
Upd
For the purposes of unblocking IGNITE-17255 it's reasonable to split given ticket into two parts
- The one that will introduce new LockManager interface and integrate it into existing tx logic.
- The one that will add intention lock support from the HeapLockManager point of view.
Only first part will be implemented within the scope of given ticket. HeapLockManager updates will be implemented in https://issues.apache.org/jira/browse/IGNITE-17498
Attachments
Issue Links
- blocks
-
IGNITE-17255 Implement ReplicaService
- Resolved
- is blocked by
-
IGNITE-15932 Implement storage for locks
- Resolved
- links to