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

Roman Puchkovskiy updated IGNITE-27349:
---------------------------------------
    Description: 
RW transactions started before an index has been created do not see the index, 
so their operations do not write to the index. This means that we must make 
sure that either all such transactions are finished before the index build is 
started, or they must not be committed.

We have a mechanism for waiting for RW transactions started before the index 
creation to finish. We do this wait before we start to build the index. It 
guarantees that no write is missed when the logical topology (LT) is stable, 
but there is an edge case: if a coordinator of a transaction leaves the LT 
before the transaction is finished, its operations can still sneak in.

To protect from this edge case, we have another mechanism that counts in-flight 
operations of RW transactions.

A test added in IGNITE-27348 demonstrates that the protection mechanism does 
not work and has to be fixed.

  was:Discovered with a test added in IGNITE-27348


> Index build may result in incomplete index
> ------------------------------------------
>
>                 Key: IGNITE-27349
>                 URL: https://issues.apache.org/jira/browse/IGNITE-27349
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Roman Puchkovskiy
>            Assignee: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>
> RW transactions started before an index has been created do not see the 
> index, so their operations do not write to the index. This means that we must 
> make sure that either all such transactions are finished before the index 
> build is started, or they must not be committed.
> We have a mechanism for waiting for RW transactions started before the index 
> creation to finish. We do this wait before we start to build the index. It 
> guarantees that no write is missed when the logical topology (LT) is stable, 
> but there is an edge case: if a coordinator of a transaction leaves the LT 
> before the transaction is finished, its operations can still sneak in.
> To protect from this edge case, we have another mechanism that counts 
> in-flight operations of RW transactions.
> A test added in IGNITE-27348 demonstrates that the protection mechanism does 
> not work and has to be fixed.



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

Reply via email to