[ 
https://issues.apache.org/jira/browse/IGNITE-13684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anton Kalashnikov updated IGNITE-13684:
---------------------------------------
    Description: 
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.

  was:
Right now, ignite has a static pageIo resolver which not allow substituting the 
different implementation if needed. So it is needed to rewrite the current 
implementation in order of this target.

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.


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

Reply via email to