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

Reply via email to