Alexey Scherbakov created IGNITE-23716:
------------------------------------------

             Summary: Improve contented locks usage
                 Key: IGNITE-23716
                 URL: https://issues.apache.org/jira/browse/IGNITE-23716
             Project: Ignite
          Issue Type: Improvement
            Reporter: Alexey Scherbakov


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

1. 

 
{noformat}
public Executor executorFor(short executorIndex, int stripeIndex) {
    assert executorIndex >= 0 : "Executor index is negative: " + executorIndex;

    if (!busyLock.enterBusy()) {
        return NO_OP_EXECUTOR;
    }

    try {
        return stripedExecutorFor(executorIndex).stripeExecutor(stripeIndex);
    } finally {
        busyLock.leaveBusy();
    }
}{noformat}
is called on every incoming message, and they might be millions.

2. 
ClockWaiter's busyLock can be removed, because it delegates to tracker which 
already has (already optimized) busy locks.
 
3. IgniteAttachmentLock writes to shared location both for sync and async paths.
 
 



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

Reply via email to