ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Igor Seliverstov (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-7384) MVCC TX: Support historical rebalance
Date Wed, 27 Feb 2019 15:29:00 GMT

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

Igor Seliverstov updated IGNITE-7384:
-------------------------------------
    Description: 
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

  was:
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 for details


> 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
>             Fix For: 2.8
>
>
> 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
(v7.6.3#76005)

Mime
View raw message