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

MVCC TX: TxLog does not support partitions rebalance at the moment. We need to implement it.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.7
    • mvcc, sql
    • None

    Description

      When new node joins to the cluster after the partitions rebalance it has empty TxLog. And therefore all transactions committed before this join are considered as uncommitted by this node.

      Solution:

      1.  introduce a special hint bits (most significant bits in operation counter) which will be actualized whenever it is possible.
      2.  such bits should be updated via CAS operation and the page, which contains the data, should be marked as dirty even under read lock
      3.  rebalance iterator returns only COMMITTED versions of row (the row must have committed start version) with actualized hint bits for both create and update versions.
      4.  during force keys requests both COMMITTED rows and pending changes (rows having ACTIVE start version) should be sent with actualized hint bits for both create and update versions (if applicable).
      5.  all readers check hint bits before checking with TxLog.

      Attachments

        Issue Links

          Activity

            People

              rkondakov Roman Kondakov
              rkondakov Roman Kondakov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: