[
https://issues.apache.org/jira/browse/IGNITE-16892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-16892:
-------------------------------------
Summary: Introduce new LockManager interface in order to soupport S, X and
I locks (was: Update lock manager in order to soupport S, X and I locks)
> Introduce new LockManager interface in order to soupport S, X and I locks
> -------------------------------------------------------------------------
>
> Key: IGNITE-16892
> URL: https://issues.apache.org/jira/browse/IGNITE-16892
> Project: Ignite
> Issue Type: Improvement
> Reporter: Alexander Lapin
> Assignee: Alexander Lapin
> Priority: Major
> Labels: ignite-3, transaction3_rw
> Time Spent: 20m
> Remaining Estimate: 0h
>
> 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
> {code:java}
> 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) {code}
> 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.
> h3. 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
--
This message was sent by Atlassian Jira
(v8.20.10#820010)