Evgeny Stanilovsky created IGNITE-24530:
-------------------------------------------

             Summary: CPCC. Provide correct implementation for new affinity 
replication switch
                 Key: IGNITE-24530
                 URL: https://issues.apache.org/jira/browse/IGNITE-24530
             Project: Ignite
          Issue Type: Task
          Components: sql
    Affects Versions: 3.0
            Reporter: Evgeny Stanilovsky


CPCC should not have an impact on RW transactions execution. It is proposed to 
do like:
# Initiate new affinity replicator (new zone with new affinity)
# Change catalog version (time T1), seems it will be done the same time it was 
locked [1]
# Wait all tx`s with beginTs < T1, need to start with 
IndexNodeFinishedRwTransactionsChecker or reuse it.
# Change zone state (time T2)
# Transactions store according to timestamps must meet the following conditions:
## tx`s with beginTs < T1 are directed into 'old' store\partition
## beginTs >= T1 are directed into both
# Lets call - the task for already stored rows - store replicator. It stars 
with T3 > T2. It need to copy all rows which satisfy to predicate: commitTs < 
T2. Thus transactions with startTs < T1 and as follows with commitTs < T2 are 
replicated (seems rows with not resolved intents need to be filtered too). Rows 
with T1 <= startTs < X2 will be copied twice - through store replicator and 
through affinity replicator (a bit write amplification here). Rows with startTs 
>= T2 will be replicated only through affinity replicator. 

[1] https://issues.apache.org/jira/browse/IGNITE-24442



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to