[
https://issues.apache.org/jira/browse/IGNITE-17230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Tkalenko updated IGNITE-17230:
-------------------------------------
Description:
*Notes*
Description may not be complete.
*Goal*
To implement a new checkpoint (described in IGNITE-15818), we will introduce a
new entity *DelataFilePageStore*", which will be created for each partition at
each checkpoint.
Will consist of:
* Header (maybe updated in the course of implementation):
** Allocation *pageIdx* - *pageIdx* of the last created page;
* Sorted list of *pageIdx* - allows a binary search to find the file offset for
an *pageId -> pageIdx*;
* Page content - sorted by *pageIdx*.
To implement the new checkpoint (described in IGNITE-15818), we need to modify
*FilePageStore*.
A list (from new to old) of *DelataFilePageStore* will be added to its
structure, which will increase after each checkpoint (at its completion) and
decrease after each merge with the *FilePageStore* by "compacter".
*DelataFilePageStore* will contain:
* Sorted list of *pageIdx*: allows by binary search to find the offset in this
file for the requested *pageId -> pageIdx*;
* Allocation Index: *pageIdx* of the last allocated page;
* Pages themselves are sorted by *pageIdx*.
To read a page by *pageId -> pageIdx*, at the beginning we will try to find it
among the *DelataFilePageStore* (from the youngest to the oldest) and if we do
not find it among them, we will read from *FilePageStore*.
was:
*Notes*
Description may not be complete.
*Goal*
To implement the new checkpoint (described in IGNITE-15818), we need to modify
*FilePageStore*.
A list (from new to old) of *DelataFilePageStore* will be added to its
structure, which will increase after each checkpoint (at its completion) and
decrease after each merge with the *FilePageStore* by "compacter".
*DelataFilePageStore* will contain:
* Sorted list of *pageIdx*: allows by binary search to find the offset in this
file for the requested *pageId -> pageIdx*;
* Allocation Index: *pageIdx* of the last allocated page;
* Pages themselves are sorted by *pageIdx*.
To read a page by *pageId -> pageIdx*, at the beginning we will try to find it
among the *DelataFilePageStore* (from the youngest to the oldest) and if we do
not find it among them, we will read from *FilePageStore*.
> Support splt-file page store
> ----------------------------
>
> Key: IGNITE-17230
> URL: https://issues.apache.org/jira/browse/IGNITE-17230
> Project: Ignite
> Issue Type: Task
> Reporter: Kirill Tkalenko
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>
> *Notes*
> Description may not be complete.
> *Goal*
> To implement a new checkpoint (described in IGNITE-15818), we will introduce
> a new entity *DelataFilePageStore*", which will be created for each partition
> at each checkpoint.
> Will consist of:
> * Header (maybe updated in the course of implementation):
> ** Allocation *pageIdx* - *pageIdx* of the last created page;
> * Sorted list of *pageIdx* - allows a binary search to find the file offset
> for an *pageId -> pageIdx*;
> * Page content - sorted by *pageIdx*.
> To implement the new checkpoint (described in IGNITE-15818), we need to
> modify *FilePageStore*.
> A list (from new to old) of *DelataFilePageStore* will be added to its
> structure, which will increase after each checkpoint (at its completion) and
> decrease after each merge with the *FilePageStore* by "compacter".
> *DelataFilePageStore* will contain:
> * Sorted list of *pageIdx*: allows by binary search to find the offset in
> this file for the requested *pageId -> pageIdx*;
> * Allocation Index: *pageIdx* of the last allocated page;
> * Pages themselves are sorted by *pageIdx*.
> To read a page by *pageId -> pageIdx*, at the beginning we will try to find
> it among the *DelataFilePageStore* (from the youngest to the oldest) and if
> we do not find it among them, we will read from *FilePageStore*.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)