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

Roman Puchkovskiy updated IGNITE-18118:
---------------------------------------
    Description: 
Currently, page-memory-based implementations of {{MvPartitionStorage}} do not 
store last RAFT group configuration. This needs to be implemented. Namely, the 
corresponding methods in {{PartitionMetaIo}} needs to be implemented.

One complication with this is that group configuration length is not known 
upfront, so a varlen encoding needs to be used. Also, probably, a bigger 
complication is that a configuration might not fit in one page.

If we are sure it fill fit one page (still containing the rest partition meta), 
we can just write it last: first write its length, then the bytes of data.

If we need to make sure we support cases when partition metadata exceeds one 
page in size, we might add another page type X, store group config in a chain 
of pages of type X, and put a link to first of them in partition meta page.

> Support group configuration in persistent pagememory-based MvPartitionStorage
> -----------------------------------------------------------------------------
>
>                 Key: IGNITE-18118
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18118
>             Project: Ignite
>          Issue Type: Improvement
>          Components: persistence
>            Reporter: Roman Puchkovskiy
>            Assignee: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>
> Currently, page-memory-based implementations of {{MvPartitionStorage}} do not 
> store last RAFT group configuration. This needs to be implemented. Namely, 
> the corresponding methods in {{PartitionMetaIo}} needs to be implemented.
> One complication with this is that group configuration length is not known 
> upfront, so a varlen encoding needs to be used. Also, probably, a bigger 
> complication is that a configuration might not fit in one page.
> If we are sure it fill fit one page (still containing the rest partition 
> meta), we can just write it last: first write its length, then the bytes of 
> data.
> If we need to make sure we support cases when partition metadata exceeds one 
> page in size, we might add another page type X, store group config in a chain 
> of pages of type X, and put a link to first of them in partition meta page.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to