Hello Igniters! I'm working on implementing batch updates in PageMemory [1] to improve the performance of batch operations. Details can be found in IEP-32 [2].
As the first step, I have prepared PR [3] with the implementation of batch insertion of several data rows into the free list [4]. Performance increased by reducing the workload on the free list - after acquiring a memory page, we can write several data rows before putting the page into the free list. This approach is used in data preloading. Preloader cannot lock multiple cache entries at once due to possible deadlock with concurrent batch updates, so it pre-creates batch of data rows in the page memory, and then sequentially initializes the cache entries one by one. Can someone review these changes? [1] https://issues.apache.org/jira/browse/IGNITE-7935 [2] https://cwiki.apache.org/confluence/display/IGNITE/IEP-32+Batch+updates+in+PageMemory [3] https://github.com/apache/ignite/pull/6364 [4] https://issues.apache.org/jira/browse/IGNITE-11584