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 2022/06/27 07:22:00 UTC

[jira] [Updated] (IGNITE-17232) Optimization of DeltaFilePageStore: write new pages directly to FilePageStore

     [ 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)