[ 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, 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. 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. > Rewrite PageIo resolver from static to explicit dependency > ---------------------------------------------------------- > > 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, 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. -- This message was sent by Atlassian Jira (v8.3.4#803005)