[
https://issues.apache.org/jira/browse/IGNITE-7384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maxim Muzafarov updated IGNITE-7384:
------------------------------------
Fix Version/s: (was: 2.10)
> MVCC TX: Support historical rebalance
> -------------------------------------
>
> Key: IGNITE-7384
> URL: https://issues.apache.org/jira/browse/IGNITE-7384
> Project: Ignite
> Issue Type: Task
> Components: mvcc
> Reporter: Igor Seliverstov
> Priority: Major
> Labels: rebalance
>
> Currently MVCC doesn't support historical (delta) rebalance.
> The main difficulty is that MVCC writes changes on tx active phase while
> partition update version, aka update counter, is being applied on tx finish.
> This means we cannot start iteration over WAL right from the pointer where
> the update counter updated, but should include updates, which the transaction
> that updated the counter did.
> Currently proposed approach:
> * Maintain a list of active TXs with update counter (UC) which was actual at
> the time before TX did its first update (on per partition basis)
> * on each checkpoint save two counters - update counter (UC) and back
> counter (BC) which is earliest UC mapped to a tx from active list at
> checkpoint time.
> * during local restore move UC and BC forward as far as possible.
> * send BC instead of update counter in demand message.
> * start iteration from a first checkpoint having UC less or equal received BC
> See [linked dev list
> thread|http://apache-ignite-developers.2346864.n4.nabble.com/Historical-rebalance-td38380.html]
> for details
--
This message was sent by Atlassian Jira
(v8.3.4#803005)