[
https://issues.apache.org/jira/browse/IGNITE-17232?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Tkalenko updated IGNITE-17232:
-------------------------------------
Description:
When creating *DelateFilePageStore* at checkpoint, we sort the list of all
dirty pages of the partition by *pageIdx*, write to disk the sorted list of
*pageIdx* (for *pageId -> pageIdx* binary lookup), the contents of the dirty
pages, and the current *pageIdx* of the page allocations.
I propose to optimize this a bit.
In *DelateFilePageStore*, store only changes in existing pages, and write all
new pages immediately to *FilePageStore*, so we will reduce the work for the
compacter (it will need to write less to the main partition file) and the
sorted list of *pageIdx* will be smaller.
was:
When creating class 1 at checkpoint, we sort the list of all dirty pages in the
partition by ID, write to disk the sorted list of IDs (for ID binary lookup),
the contents of the dirty pages, and the current ID of the page allocations.
I propose to optimize this a bit. In class 1, store only changes in existing
pages, and write all new pages immediately to class 1, so we will reduce the
work for the merger (it will need to write less to the main partition file) and
the sorted list of pages will be smaller.
> Optimization of DeltaFilePageStore: write new pages directly to FilePageStore
> -----------------------------------------------------------------------------
>
> Key: IGNITE-17232
> URL: https://issues.apache.org/jira/browse/IGNITE-17232
> Project: Ignite
> Issue Type: Improvement
> Reporter: Kirill Tkalenko
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>
> When creating *DelateFilePageStore* at checkpoint, we sort the list of all
> dirty pages of the partition by *pageIdx*, write to disk the sorted list of
> *pageIdx* (for *pageId -> pageIdx* binary lookup), the contents of the dirty
> pages, and the current *pageIdx* of the page allocations.
> I propose to optimize this a bit.
> In *DelateFilePageStore*, store only changes in existing pages, and write all
> new pages immediately to *FilePageStore*, so we will reduce the work for the
> compacter (it will need to write less to the main partition file) and the
> sorted list of *pageIdx* will be smaller.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)