You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladislav Pyatkov (Jira)" <ji...@apache.org> on 2025/02/12 12:20:00 UTC

[jira] [Created] (IGNITE-24487) Lock manager's approximate counter may allow taking more locks more than limit

Vladislav Pyatkov created IGNITE-24487:
------------------------------------------

             Summary: Lock manager's approximate counter may allow taking more locks more than limit
                 Key: IGNITE-24487
                 URL: https://issues.apache.org/jira/browse/IGNITE-24487
             Project: Ignite
          Issue Type: Bug
            Reporter: Vladislav Pyatkov


h3. Motivation
The integration test (_ItLockTableTest.testTakeMoreLocksThanAfford_) fails due to the issue.
{noformat}
org.opentest4j.AssertionFailedError: Some lockers are missing ==> expected: <true> but was: <false>
  at app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
  at app//org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
  at app//org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
  at app//org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:36)
  at app//org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:214)
  at app//org.apache.ignite.distributed.ItLockTableTest.testTakeMoreLocksThanAfford(ItLockTableTest.java:195)
  at java.base@17.0.6/java.lang.reflect.Method.invoke(Method.java:568)
  at java.base@17.0.6/java.util.ArrayList.forEach(ArrayList.java:1511)
  at java.base@17.0.6/java.util.ArrayList.forEach(ArrayList.java:1511)
{noformat}
It happens because the lock limit is defined strictly in the test:
{code}
total == CACHE_SIZE && lockManager.available() == 0
{code}

h3 Definition of done
Rewrite the test in order for it to wait for more or equal locks than that threshold.



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