You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Kirill Tkalenko (Jira)" <ji...@apache.org> on 2023/02/07 09:10:00 UTC

[jira] [Created] (IGNITE-18736) Prepare class AbstractPageMemoryMvPartitionStorage cursors for working with locks

Kirill Tkalenko created IGNITE-18736:
----------------------------------------

             Summary: Prepare class AbstractPageMemoryMvPartitionStorage cursors for working with locks
                 Key: IGNITE-18736
                 URL: https://issues.apache.org/jira/browse/IGNITE-18736
             Project: Ignite
          Issue Type: Improvement
            Reporter: Kirill Tkalenko
            Assignee: Kirill Tkalenko
             Fix For: 3.0.0-beta2


We need to prepare cursors for working with locks, which should solve the problems of parallel modifications and reading version chains.

*org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage#scanVersions* - we need to read the entire chain at once. Since after reading one of the elements of the chain, any modification of the links to the next element can occur, we can degrade to quadratic complexity.

*org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage#scan* - we will need to try to immediately find the version by *timestamp* when reading the chain, since the *BplusTree* cursor caches rows that are on the same page.



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