[
https://issues.apache.org/jira/browse/IGNITE-23301?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexey Scherbakov updated IGNITE-23301:
---------------------------------------
Description:
Currently coarse-grained (table,index) locks use the same path as fine-grained
key locks.
This leads to broken TPS scaling in high amount of cores environments due to
high contention.
This can be fixed by implementing specialized type of locks to handle high
contention scenarios.
We need only IX and S locks to enforce serializability in the current approach.
Short locks not supported for coarse locks.
Locks can be implemented as deadlock-free by using tryLock(IX), eliminating the
wait.
Duplicates IGNITE-20895
was:
Currently coarse-grained (table,index) locks use the same path as fine-grained
key locks.
This leads to broken TPS scaling in high amount of cores environments due to
high contention.
This can be fixed by implementing specialized type of locks to handle high
contention scenarios.
We need only IX and S locks to enforce serializability in the current approach.
Short locks not supported for coarse locks.
Locks can be implemented as deadlock-free by using tryLock(IX), eliminating the
wait.
> Improve locks scalability
> -------------------------
>
> Key: IGNITE-23301
> URL: https://issues.apache.org/jira/browse/IGNITE-23301
> Project: Ignite
> Issue Type: Improvement
> Affects Versions: 3.0.0-beta1
> Reporter: Alexey Scherbakov
> Assignee: Alexey Scherbakov
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Currently coarse-grained (table,index) locks use the same path as
> fine-grained key locks.
> This leads to broken TPS scaling in high amount of cores environments due to
> high contention.
> This can be fixed by implementing specialized type of locks to handle high
> contention scenarios.
> We need only IX and S locks to enforce serializability in the current
> approach.
> Short locks not supported for coarse locks.
> Locks can be implemented as deadlock-free by using tryLock(IX), eliminating
> the wait.
> Duplicates IGNITE-20895
--
This message was sent by Atlassian Jira
(v8.20.10#820010)