[ 
https://issues.apache.org/jira/browse/IGNITE-18351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Denis Chudov updated IGNITE-18351:
----------------------------------
    Description: 
Motivation
Recently, we redesigned the behavior of lock manager, but did not modify the 
interface. This leads to the inconsistency between method name and what the 
method actually does.
The ticket inspires to improve interface of lock manager to avoid wrong usage 
of the interface.
* The lock mode LockMode#NL is used nowhere. It is s candidate for removal.
* The LockManager#release(org.apache.ignite.internal.tx.Lock) accepts lock 
object as a parameter, but actually removes all locks of a particular 
transaction. It should be redesigned in order to accept transaction id as a 
parameter..
* The LockManager#release(UUID, LockKey, LockMode) releases a particular lock 
mode on a particular key. It should accept lock object as a parameter.

Definition of done
Only two following methods related to release should remain in LockManager 
interface:
{{- release(transactionId) // releases all locks that belong to specified 
transaction
- release(lock)                // releases specific lock}}



  was:
Recently, we redesigned the behavior of lock manager, but did not modify the 
interface. This leads to the inconsistency between method name and what the 
method actually does.
The ticket inspires to improve interface of lock manager to avoid wrong usage 
of the interface.
* The lock mode LockMode#NL is used nowhere. It is s candidate for removal.
* The LockManager#release(org.apache.ignite.internal.tx.Lock) method is removed 
all locks on a particular transaction, but the method takes a lock (not a 
transaction id). Redesign the method in order to release all lock for the 
particular transaction.
* The LockManager#release(UUID, LockKey, LockMode) releases a particular lock, 
but the method does not take a lock object.


> Make a lock menagment interface more friendly
> ---------------------------------------------
>
>                 Key: IGNITE-18351
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18351
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vladislav Pyatkov
>            Priority: Major
>              Labels: ignite-3
>
> Motivation
> Recently, we redesigned the behavior of lock manager, but did not modify the 
> interface. This leads to the inconsistency between method name and what the 
> method actually does.
> The ticket inspires to improve interface of lock manager to avoid wrong usage 
> of the interface.
> * The lock mode LockMode#NL is used nowhere. It is s candidate for removal.
> * The LockManager#release(org.apache.ignite.internal.tx.Lock) accepts lock 
> object as a parameter, but actually removes all locks of a particular 
> transaction. It should be redesigned in order to accept transaction id as a 
> parameter..
> * The LockManager#release(UUID, LockKey, LockMode) releases a particular lock 
> mode on a particular key. It should accept lock object as a parameter.
> Definition of done
> Only two following methods related to release should remain in LockManager 
> interface:
> {{- release(transactionId) // releases all locks that belong to specified 
> transaction
> - release(lock)                // releases specific lock}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to