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

Vyacheslav Koptilin reassigned IGNITE-23124:
--------------------------------------------

    Assignee: Denis Chudov

> Configurable deadlock prevention policies and retry count after LockException
> -----------------------------------------------------------------------------
>
>                 Key: IGNITE-23124
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23124
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Denis Chudov
>            Assignee: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>
> *Motivation*
> Currently WaitDieDeadlockPreventionPolicy is used in AI3 along with retries 
> of transactional operation in case of lock conflict. This approach provides 
> better throughput (because of no waits) but worsens the latency. Different 
> approaches (server side waiting, like timeout-wait deadlock prevention) can 
> have a positive effect on latency but decrease throughput. We should provide 
> the ability to configure per-transaction this depending on workload.
> See benchmark results in IGNITE-22286.
> *Implementation notes*
> All the fields ought to be defined in TransactionConfigurationSchema.
> * _attemptsInterval_ (default 10) is the time in milliseconds after which the 
> next attempt to attempt lock will do. Currently, it is defined in constant 
> (ReplicaService#RETRY_TIMEOUT_MILLIS).
> * _deadlockPreventionPolicy_ (default WaitDieDeadlockPreventionPolicy) is a 
> policy to prevent dadlock in case of lock conflict. The policy has to be 
> passed through the constructor of HeapLockManager. Polymorphic configuration 
> should be used.
> * The wait-die policy with timeout; the timeout also has to be available for 
> configuration.
> *Definition of done*
> TransactionOptions are enriched with deadlock prevention policy (at least, 
> WaitDieDeadlockPreventionPolicy and TimeoutWaitDeadlockPreventionPolicy with 
> configurable waiting time) and retry count.



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

Reply via email to