You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Anton Kalashnikov (Jira)" <ji...@apache.org> on 2020/11/10 16:01:00 UTC

[jira] [Commented] (IGNITE-13684) Prepare PageStore/B+Tree to usage outside of standart lifecycle

    [ https://issues.apache.org/jira/browse/IGNITE-13684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17229316#comment-17229316 ] 

Anton Kalashnikov commented on IGNITE-13684:
--------------------------------------------

Benchmarks look good:
||Benchmark||master - operation||this branch - operation||diff %||
|tx_put|43333.00|43723.30|0.90%|
|atomic_put_all_bs_10|67685.50|67149.10|-0.79%|
|atomic_put_get|79930.80|78607.00|-1.66%|
|tx_put_get|25010.20|24600.10|-1.64%|
|sql_query|58618.50|59074.10|0.78%|
|atomic_put_random_value|160666.00|157411.00|-2.03%|
|sql_query_put|104990.00|103457.00|-1.46%|

> Prepare PageStore/B+Tree to usage outside of standart lifecycle
> ---------------------------------------------------------------
>
>                 Key: IGNITE-13684
>                 URL: https://issues.apache.org/jira/browse/IGNITE-13684
>             Project: Ignite
>          Issue Type: Sub-task
>            Reporter: Anton Kalashnikov
>            Assignee: Ivan Bessonov
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Right now, PageStore and some other classes which responsible for persistent too couple with many other dependencies which not allow to use it in different initial conditions(ex. defragmentation). So it is needed to refactor some places in order to improve this situation.
> Changes are:
> * static constant for cache group meta page;
> * PageStore allocation tracker replaced with a more generic LongConsumer do decouple it from metrics framework;
> * PageReadWriteManager added to basically allow having same cache group in different data regions;
> * several methods and fields exposed as internally public/protected API;
> * several inner classes refactored so that they become static classes;
> * PageIOResolver interface created and used to make data structure more flexible;
> * InsertLast interface for B+Tree added that will optimize comparisons on inserts. Unused for now;
> * All this code doesn't affect existing behavior.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)