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

Ariel Weisberg updated CASSANDRA-19436:
---------------------------------------
    Description: 
Concurrent writes at the same time that migration starts make it unsafe to read 
from Accord because txn recovery will not be deterministic in the presences of 
writes not done through Accord.

Migration to Accord needs to be split into two phases, in the first phase we 
write through Accord and always respect the consistency level and do 
synchronous commit. This allows Paxos and non-serial writes to continue while 
Accord's metadata covers everything needed for future reads. Paxos continues to 
operate as normal since it has enough metadata to allow key migration in the 
second phase and we need to stay online so something needs to handle LWTs.

Then repair runs and makes it possible for Accord to read any data written 
non-transactionally and we can then do key migration and route all updates 
(conditional or blind) through Accord while Paxos repair runs so we can stop 
doing key migration.

  was:
Concurrent writes at the same time that migration starts make it unsafe to read 
from Accord because txn recovery will not be deterministic in the presences of 
writes not done through Accord.

Adding key migration to non-serial writes could solve this by causing writes 
not going through Accord to be rejected at nodes where key migration already 
occurred.


> When transitioning to Accord migration it's not safe to read immediately 
> using Accord due to concurrent non-serial writes
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-19436
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19436
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Ariel Weisberg
>            Priority: Normal
>
> Concurrent writes at the same time that migration starts make it unsafe to 
> read from Accord because txn recovery will not be deterministic in the 
> presences of writes not done through Accord.
> Migration to Accord needs to be split into two phases, in the first phase we 
> write through Accord and always respect the consistency level and do 
> synchronous commit. This allows Paxos and non-serial writes to continue while 
> Accord's metadata covers everything needed for future reads. Paxos continues 
> to operate as normal since it has enough metadata to allow key migration in 
> the second phase and we need to stay online so something needs to handle LWTs.
> Then repair runs and makes it possible for Accord to read any data written 
> non-transactionally and we can then do key migration and route all updates 
> (conditional or blind) through Accord while Paxos repair runs so we can stop 
> doing key migration.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to