You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexander Lapin (Jira)" <ji...@apache.org> on 2025/01/17 15:05:00 UTC
[jira] [Assigned] (IGNITE-24223) Heap lock manager can use empty slot not properly
[ https://issues.apache.org/jira/browse/IGNITE-24223?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexander Lapin reassigned IGNITE-24223:
----------------------------------------
Assignee: Alexander Lapin
> 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)