[
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: [email protected]
For additional commands, e-mail: [email protected]