Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-7384

MVCC TX: Support historical rebalance

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • mvcc

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

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              gvvinblade Igor Seliverstov
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: