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

Igor Seliverstov updated IGNITE-8031:
-------------------------------------
    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:
 #  introduce a special hint bits (most significant bits in operation counter) 
which will be actualized whenever it is possible.
 #  such bits should be updated via CAS operation and the page, which contains 
the data, should be marked as dirty even under read lock
 #  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.
 #  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).
 #  all readers check hint bits before checking with TxLog.

  was:
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.

We need to replicate TxLog to the new nodes as well as data partitions.


> MVCC TX: TxLog does not support partitions rebalance at the moment. We need 
> to implement it.
> --------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-8031
>                 URL: https://issues.apache.org/jira/browse/IGNITE-8031
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>            Reporter: Roman Kondakov
>            Priority: Major
>              Labels: mvcc, sql
>
> 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:
>  #  introduce a special hint bits (most significant bits in operation 
> counter) which will be actualized whenever it is possible.
>  #  such bits should be updated via CAS operation and the page, which 
> contains the data, should be marked as dirty even under read lock
>  #  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.
>  #  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).
>  #  all readers check hint bits before checking with TxLog.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to