[
https://issues.apache.org/jira/browse/IGNITE-22286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17878850#comment-17878850
]
Denis Chudov commented on IGNITE-22286:
---------------------------------------
On this scenario results are different and retries show better throughput and
latency.
100 accounts, money is transferred from one account to another randomly in each
transaction (2 gets, 2 upserts per transaction):
{code:java}
+------------------------------------+-------------+------------------+----------------+----------------------+-------------------------+
| Configuration | total txns | rolled back txns | rolled
back, % | average get duration | average upsert duration |
+------------------------------------+-------------+------------------+----------------+----------------------+-------------------------+
| Timeout wait, 1 node, 2 cores | 2776 | 99 |
3.6% | 3.779460 | 11.848301 |
| Timeout wait, 3 nodes, 2 cores| 2206 | 72 |
3.3% | 3.876897 | 13.024651 |
| Timeout wait, 1 node, 8 cores | 3374 | 260 |
7.7% | 11.460481 | 18.459695 |
| Timeout wait, 3 nodes, 8 cores| 3144 | 252 |
8.0% | 10.896002 | 19.587510 |
| WaitDie + retries, 1 node, 2 cores | 5882 | 109 |
1.9% | 1.210868 | 7.957916 |
| WaitDie + retries, 3 nodes, 2 cores| 3717 | 126 |
3.4% | 2.403865 | 6.673273 |
| WaitDie + retries, 1 node, 8 cores | 18970 | 1123 |
5.9% | 1.431751 | 5.046949 |
| WaitDie + retries, 3 nodes, 8 cores| 10845 | 797 |
7.4% | 2.040012 | 8.359724 |
+------------------------------------+-------------+------------------+----------------+----------------------+-------------------------+
{code}
> Remove waitTimeout in deadlock prevention policy
> ------------------------------------------------
>
> Key: IGNITE-22286
> URL: https://issues.apache.org/jira/browse/IGNITE-22286
> Project: Ignite
> Issue Type: Improvement
> Affects Versions: 3.0.0-beta1
> Reporter: Alexey Scherbakov
> Assignee: Denis Chudov
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0
>
>
> After IGNITE-21540 and IGNITE-20127 we now have proper retries on client side.
> This means we no longer need
> org.apache.ignite.internal.tx.DeadlockPreventionPolicy#waitTimeout as a part
> of deadock prevention policy.
> Moreover, client side retries has benefit in the following scenario (having
> in mind WAIT_DIE prevention):
> # tx1 takes lock at timestamp 10
> # tx2 tries to take lock at timestamp 20 and goes for retry (without holding
> lock)
> # tx1 lock is released
> # tx3 takes lock at timestamp 30
> # tx3 lock is released
> # tx2 attemps to lock after retry and succeeds
> Without retry (without holding locks) on step 2 tx3 would retry too on step 4.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)