[ 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)