[
https://issues.apache.org/jira/browse/IGNITE-11584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16898172#comment-16898172
]
Pavel Pereslegin commented on IGNITE-11584:
-------------------------------------------
[~DmitriyGovorukhin], [~agoncharuk],
please take a look at these changes.
> Implement batch insertion of new cache entries in FreeList to improve
> rebalancing
> ---------------------------------------------------------------------------------
>
> Key: IGNITE-11584
> URL: https://issues.apache.org/jira/browse/IGNITE-11584
> Project: Ignite
> Issue Type: Sub-task
> Affects Versions: 2.7
> Reporter: Pavel Pereslegin
> Assignee: Pavel Pereslegin
> Priority: Major
> Labels: iep-32
> Fix For: 2.8
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Main goals:
> * Implement batch insert operation into FreeList - insert several data rows
> at once
> * Use batch insertion in the preloader
>
> Implementation notes:
> # Preloader cannot lock multiple cache entries at once, because this may
> lead to a deadlock with concurrent batch updates. Therefore, it pre-creates
> batch of data rows in the page memory, and then sequentially initializes the
> cache entries one by one.
> # Batch writing of data rows into data pages uses the free list as usual
> because other approaches increase memory fragmentation (for example, using
> only "reuse" or "most free" buckets).
> # Eviction tracker assumes that only data pages with "heads" of fragmented
> data row are tracked, so all other fragments of large data row should be
> written on separate data pages (without other data rows which may cause page
> tracking).
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)