Viacheslav Blinov created IGNITE-21694:
------------------------------------------
Summary: HeapLockManager/HeapUnboundedLockManager makes
inefficient use of keySet iterator instead of entrySet iterator
Key: IGNITE-21694
URL: https://issues.apache.org/jira/browse/IGNITE-21694
Project: Ignite
Issue Type: Bug
Reporter: Viacheslav Blinov
Issue detected by SpotBugs. Specifically the warning reported is:
{noformat}
H M VO_VOLATILE_INCREMENT VO: Increment of volatile field
org.apache.ignite.internal.tx.impl.TxManagerImpl$TxContext.inflights in
org.apache.ignite.internal.tx.impl.TxManagerImpl.lambda$addInflight$21(boolean[],
UUID, TxManagerImpl$TxContext) At TxManagerImpl.java:[line 843]
H M VO_VOLATILE_INCREMENT VO: Increment of volatile field
org.apache.ignite.internal.tx.impl.TxManagerImpl$TxContext.inflights in
org.apache.ignite.internal.tx.impl.TxManagerImpl.lambda$removeInflight$22(UUID,
TxManagerImpl$TxContext) At TxManagerImpl.java:[line 858]
{noformat}
Increments/Decrements of volatile fields aren't atomic. If more than one thread
is incrementing/decrementing the field at the same time, increments/decrements
could be lost.
Investigate whenever this is a false-positive and we should suppress it, or we
should make a proper fix.
At the result of investigation corresponding TODO should be removed in
spotbugs-excludes.xml
--
This message was sent by Atlassian Jira
(v8.20.10#820010)