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

Kirill Tkalenko updated IGNITE-23716:
-------------------------------------
    Description: 
IGNITE-23303 addressed some of condended lock usages, but not all.

1.  -LazyStripedExecutors#executorFor - is called on every incoming message, 
and they might be millions.- Done in ticket IGNITE-23796.

2. -ClockWaiter's busyLock can be removed, because it delegates to tracker 
which already has (already optimized) busy locks.- Will be done in IGNITE-23811 
 
3. -IgniteAttachmentLock writes to shared location both for sync and async 
paths - it should be striped in some way.- Done in IGNITE-23779.

4. StripedRWLock used in PendingComparableValuesTracker and ReplicaManager 
doesn't check if write lock is already held

5. -IgniteSpinBusyLock duplicates VersatileReadWriteLock in many aspects and 
vice versa. I believe ISBL can be replaces with VRWL.- Will be done in 
IGNITE-23779.

See for example org.apache.ignite.internal.util.IgniteUtils#inBusyLockAsync

NOTE: don't forget to check results with UpsertKvBenchmark

 
 

  was:
IGNITE-23303 addressed some of condended lock usages, but not all.

1.  -LazyStripedExecutors#executorFor - is called on every incoming message, 
and they might be millions.- Done on ticket IGNITE-23796.

2. -ClockWaiter's busyLock can be removed, because it delegates to tracker 
which already has (already optimized) busy locks.- Will be done in IGNITE-23811 
 
3. -IgniteAttachmentLock writes to shared location both for sync and async 
paths - it should be striped in some way.- Will be done in IGNITE-23779.

4. StripedRWLock used in PendingComparableValuesTracker and ReplicaManager 
doesn't check if write lock is already held

5. -IgniteSpinBusyLock duplicates VersatileReadWriteLock in many aspects and 
vice versa. I believe ISBL can be replaces with VRWL.- Will be done in 
IGNITE-23779.

See for example org.apache.ignite.internal.util.IgniteUtils#inBusyLockAsync

NOTE: don't forget to check results with UpsertKvBenchmark

 
 


> Improve contented locks usage
> -----------------------------
>
>                 Key: IGNITE-23716
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23716
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexey Scherbakov
>            Assignee: Kirill Tkalenko
>            Priority: Major
>              Labels: ignite-3
>
> IGNITE-23303 addressed some of condended lock usages, but not all.
> 1.  -LazyStripedExecutors#executorFor - is called on every incoming message, 
> and they might be millions.- Done in ticket IGNITE-23796.
> 2. -ClockWaiter's busyLock can be removed, because it delegates to tracker 
> which already has (already optimized) busy locks.- Will be done in 
> IGNITE-23811 
>  
> 3. -IgniteAttachmentLock writes to shared location both for sync and async 
> paths - it should be striped in some way.- Done in IGNITE-23779.
> 4. StripedRWLock used in PendingComparableValuesTracker and ReplicaManager 
> doesn't check if write lock is already held
> 5. -IgniteSpinBusyLock duplicates VersatileReadWriteLock in many aspects and 
> vice versa. I believe ISBL can be replaces with VRWL.- Will be done in 
> IGNITE-23779.
> See for example org.apache.ignite.internal.util.IgniteUtils#inBusyLockAsync
> NOTE: don't forget to check results with UpsertKvBenchmark
>  
>  



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

Reply via email to