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

Denis Chudov updated IGNITE-18091:
----------------------------------
    Description: 
*Motivation*
Today we have several possible implementations of deadlock prevention: AI 3 
[1], transactions POC [2], and possible implementation based on concurrency 
control paper [3]. Moreover, we have a multiple granularity lock model [4] 
where some lock modes are compatible, others are not, which allows 
reenterability in some cases, and sharing of locks between transactions. We 
should understand the differences of behavior of each implementation in 
different scenarios, and how it matches with our expectations.

*Definition of done*
Table with a set of scenarios and description of behavior, including the 
expected one.

[1] org.apache.ignite.internal.tx.impl.HeapLockManager
[2] https://github.com/ascherbakoff/ai3-txn-mvp
[3] https://dl.acm.org/doi/pdf/10.1145/320251.320260
[4] https://web.stanford.edu/class/cs245/readings/granularity-of-locks.pdf

  was:
*Motivation*
Today we have several possible implementations of deadlock prevention: AI 3 
[1], transactions POC [2], and concurrency control paper [3]. Moreover, we have 
a multiple granularity lock model [4] where some lock modes are compatible, 
others are not, which allows reenterability in some cases, and sharing of locks 
between transactions. We should understand the differences of behavior of each 
implementation in different scenarios, and how it matches with our expectations.

*Definition of done*
Table with a set of scenarios and description of behavior, including the 
expected one.

[1] org.apache.ignite.internal.tx.impl.HeapLockManager
[2] https://github.com/ascherbakoff/ai3-txn-mvp
[3] https://dl.acm.org/doi/pdf/10.1145/320251.320260
[4] https://web.stanford.edu/class/cs245/readings/granularity-of-locks.pdf


> Compare deadlock prevention implementation and work out a decisions about 
> correct behavior in corner cases
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-18091
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18091
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>
> *Motivation*
> Today we have several possible implementations of deadlock prevention: AI 3 
> [1], transactions POC [2], and possible implementation based on concurrency 
> control paper [3]. Moreover, we have a multiple granularity lock model [4] 
> where some lock modes are compatible, others are not, which allows 
> reenterability in some cases, and sharing of locks between transactions. We 
> should understand the differences of behavior of each implementation in 
> different scenarios, and how it matches with our expectations.
> *Definition of done*
> Table with a set of scenarios and description of behavior, including the 
> expected one.
> [1] org.apache.ignite.internal.tx.impl.HeapLockManager
> [2] https://github.com/ascherbakoff/ai3-txn-mvp
> [3] https://dl.acm.org/doi/pdf/10.1145/320251.320260
> [4] https://web.stanford.edu/class/cs245/readings/granularity-of-locks.pdf



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

Reply via email to