[ 
https://issues.apache.org/jira/browse/IGNITE-24223?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Lapin updated IGNITE-24223:
-------------------------------------
    Ignite Flags:   (was: Docs Required,Release Notes Required)

> Heap lock manager can use empty slot not properly
> -------------------------------------------------
>
>                 Key: IGNITE-24223
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24223
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Vladislav Pyatkov
>            Assignee: Alexander Lapin
>            Priority: Major
>              Labels: ignite-3
>         Attachments: HeapLockManagerTest.java
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> There is an invalid assert:
> {code:java|title=HeapLockManager.java}
> ...
> v = empty.poll();
>  if (v == null) {
>      res[0] = slots[index];
>      assert !res[0].markedForRemove;
> ...
> {code}
> The propsal is invalid because after the empty slots queue is used, an empty 
> slot might have appeared. The code takes a slot by the hash, and it can 
> unintentionally take an empty one (opposite of the assertion).
> h3. Definition of done
> Fixed the branch where the empty slots queue returns {{null}}.
> HeapLockManagerTest#overflowCollisionTest has to pass.



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

Reply via email to