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)