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

Reply via email to